Modify

Opened 3 years ago

Last modified 16 months ago

#8653 new defect

Backlog Plugin stop trac from functioning

Reported by: anonymous Owned by: rjollos
Priority: normal Component: BacklogPlugin
Severity: normal Keywords:
Cc: anachesa Trac Release: 0.12

Description (last modified by rjollos)

Hello Bart,

First ty for making this plugin I really look forward to getting it working.

Please note this is trac 0.12

I initially downloaded this zipped plugin extracted and attempted to install.

this yielded:

easy_install 0.11         
Processing 0.11
Running setup.py -q bdist_egg --dist-dir /root/backlogplugin/0.11/egg-dist-tmp-1Co9jy
  File "build/bdist.linux-x86_64/egg/backlog/model.py", line 158
    (ordered_tickets if ticket['tkt_order'] is not None else unordered_tickets).append(ticket)
                      ^
SyntaxError: invalid syntax
Adding BacklogPlugin 0.1.33 to easy-install.pth file

Installed /usr/lib/python2.4/site-packages/BacklogPlugin-0.1.33-py2.4.egg
Processing dependencies for BacklogPlugin==0.1.33
Finished processing dependencies for BacklogPlugin==0.1.33

So I broke out the compound if statement via:

            if ticket['tkt_order'] is not None:
                ordered_tickets.append(ticket)
            else:
                unordered_tickets.append(ticket)

This allowed it to build:

easy_install 0.11
Processing 0.11
Running setup.py -q bdist_egg --dist-dir /root/backlogplugin/0.11/egg-dist-tmp-j1xkIT
BacklogPlugin 0.1.33 is already the active version in easy-install.pth

Installed /usr/lib/python2.4/site-packages/BacklogPlugin-0.1.33-py2.4.egg
Processing dependencies for BacklogPlugin==0.1.33
Finished processing dependencies for BacklogPlugin==0.1.33

Upon enabling the plugin though trac is not happy with the stack trace below:

Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 511, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/lib/python2.4/site-packages/trac/web/main.py", line 237, in dispatch
    resp = chosen_handler.process_request(req)
  File "/usr/lib/python2.4/site-packages/trac/admin/web_ui.py", line 80, in process_request
    panels, providers = self._get_panels(req)
  File "/usr/lib/python2.4/site-packages/trac/admin/web_ui.py", line 163, in _get_panels
    p = list(provider.get_admin_panels(req) or [])
  File "/usr/lib/python2.4/site-packages/trac/ticket/admin.py", line 45, in get_admin_panels
    if 'TICKET_ADMIN' in req.perm:
  File "/usr/lib/python2.4/site-packages/trac/perm.py", line 553, in has_permission
    return self._has_permission(action, resource)
  File "/usr/lib/python2.4/site-packages/trac/perm.py", line 566, in _has_permission
    decision = PermissionSystem(self.env). \
  File "/usr/lib/python2.4/site-packages/trac/perm.py", line 454, in check_permission
    perm)
  File "/usr/lib/python2.4/site-packages/trac/perm.py", line 285, in check_permission
    permissions = PermissionSystem(self.env). \
  File "/usr/lib/python2.4/site-packages/trac/perm.py", line 359, in get_user_permissions
    actions += list(requestor.get_permission_actions() or [])
  File "/usr/lib/python2.4/site-packages/trac/perm.py", line 476, in get_permission_actions
    for action in requestor.get_permission_actions() or []:
  File "build/bdist.linux-x86_64/egg/backlog/web_ui.py", line 258, in get_permission_actions
  File "build/bdist.linux-x86_64/egg/backlog/model.py", line 278, in __init__
AttributeError: 'BacklogList' object has no attribute 'env'

Please advise as I would totally love to try this out and provide feedback.

Thanks again,

Jesse

Attachments (0)

Change History (13)

comment:1 Changed 3 years ago by anonymous

I'm seeing the same thing. Did the same thing you did to get past the compile error and now have the env error. I assume this works elsewhere and it doesn't appear to be a python or trac version error since the env appears to be an attribute of self (BacklogList object) in this case. So, does anyone know if everything is zipped up that is supposed to be. I would really like to use this module for burn down. BTW, I'm running with Python 2.4.3 and Trac 0.12.2 right now on a CentOS5 machine.

Thank-you,
Respectfully,
Wes Brown/SCCM/SQA.

comment:2 Changed 3 years ago by anonymous

OK. So I fixed the self.env problem by adding self.env = env to the BackLogError class __init__ method. Now, I get the following error:

TimeoutError: Unable to get database connection within 0 seconds. (<trac.core.TracError instance at 0x8fb9d8c>)

This only appears when I try to open the BackLog tab. The Management Tab works OK now as do the other tabs. Will keep working this until I get this working or someone beats me to it. :)

Wes Brown.

comment:3 follow-ups: Changed 3 years ago by anonymous

OK, so everyone doesn't have to go through what I went through, here's the deal if you're using 0.12.2. I had to add the divide by 1000000 to the backlog.html page where the statement using the date from the ticket. This is because of the higher resolution time stamps given to tickets in 0.12.2. So, be aware. Here is the line of code I changed:

<td style="width: 60px;">${str(datetime.now() - datetime.fromtimestamp(ticket.time/1000000)).split(',')[0].split('.')[0]}</td>

This line occurs twice in the html template file so make sure you change it in both places. Also, make sure you change the permissions back to apache:apache if your using apache to run your Trac server. Otherwise, you'll get the error regarding the database access denied problem. I've also hacked quite a few of the other plugins and macros so they'd work with 0.12.2 as well as meet our specific needs where I'm working.

comment:4 Changed 3 years ago by rjollos

  • Description modified (diff)

comment:5 Changed 2 years ago by rjollos

  • Cc anachesa added

comment:6 Changed 2 years ago by rjollos

(In [11996]) Refs #8653, #10326 (0.1.34) Numerous fixes for compatibility with Trac 0.12 and 1.0:

  • Fix for possible cannot operate on closed cursor error. The db object could be cleaned up before the cursor is used in the try/catch. This does not seem to happen if the db object is passed as a parameter though, so the _create_ordering_table function was changed from a private member function of the BacklogModule class, to a private function of the web_ui module.
  • Assignments were made to the following variables for no apparent reason, as they were not being used: data['req'] and data['args']. The assignment data['req'] was causing problems as it was overwriting the req object in the template space, leading to a traceback, but only under Trac 1.0 (/ticket/10326#comment:2).
  • The unique attribute of a Column was removed in Trac 0.12, and a traceback was resulting from its use (/ticket/10326#comment:1). The attribute actually had no effect in Trac 0.11 anyway ([t 9406/trunk/trac/db/schema.py]).
  • The env member variable of the BacklogListclass was being used, but was never assigned, resulting in a traceback (/ticket/8653#comment:2).

comment:7 in reply to: ↑ 3 Changed 2 years ago by rjollos

Replying to anonymous:

I've also hacked quite a few of the other plugins and macros so they'd work with 0.12.2 as well as meet our specific needs where I'm working.

If you open tickets for those other plugins, I will make sure the changes get pushed to the repository. Thanks.

comment:8 in reply to: ↑ 3 Changed 2 years ago by rjollos

Replying to anonymous:

Also, make sure you change the permissions back to apache:apache if your using apache to run your Trac server. Otherwise, you'll get the error regarding the database access denied problem.

Was the issue described in comment:2 due to this permissions problem?

comment:9 Changed 2 years ago by rjollos

Assuming no feedback is received that leads to other action items in this ticket, just two issues remain to be dealt with:

  • Second Timestamp (< 0.12) vs Microsecond Timestamp (0.12+) differences.
  • Python 2.4 compatibility changes.

comment:10 Changed 2 years ago by rjollos

  • Owner changed from bart to rjollos
  • Status changed from new to assigned

comment:11 in reply to: ↑ 3 Changed 2 years ago by rjollos

Replying to anonymous:

OK, so everyone doesn't have to go through what I went through, here's the deal if you're using 0.12.2. I had to add the divide by 1000000 to the backlog.html page where the statement using the date from the ticket. This is because of the higher resolution time stamps given to tickets in 0.12.2.

The dedicated ticket for this issue is #10330.

comment:12 Changed 2 years ago by rjollos

(In [12039]) Refs #8653: Restored Python 2.4 compatibility by reverting use of the conditional expression syntax, as defined in PEP 308 and added in Python 2.5.

comment:13 Changed 16 months ago by rjollos

  • Status changed from assigned to new

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.