Modify

Opened 7 years ago

Closed 6 years ago

#3082 closed defect (fixed)

'summary' feature doesn't work with 0.11b2 (at least) - AttributeError: 'NoneType' object has no attribute 'ticket'

Reported by: nicholas Owned by: gotoh
Priority: normal Component: TicketBoxMacro
Severity: normal Keywords:
Cc: Trac Release: 0.11

Description

I was getting this traceback:

2008-05-27 14:18:00,628 Trac[formatter] ERROR: Macro TicketBox({9},summary) failed
Traceback (most recent call last):
  File "c:\python25\lib\site-packages\Trac-0.11b2-py2.5.egg\trac\wiki\formatter.py", line 468, in _macro_formatter
    return macro.process(args, in_paragraph=True)
  File "c:\python25\lib\site-packages\Trac-0.11b2-py2.5.egg\trac\wiki\formatter.py", line 179, in process
    text = self.processor(text)
  File "c:\python25\lib\site-packages\Trac-0.11b2-py2.5.egg\trac\wiki\formatter.py", line 166, in _macro_processor
    text)
  File "e:\synergycmtrac\trac-project\plugins\TicketBox.py", line 170, in expand_macro
    return execute(formatter, args)
  File "e:\synergycmtrac\trac-project\plugins\TicketBox.py", line 138, in execute
    env, env.get_db_cnx()) for k,v in long_items.iteritems()], "<br>")
  File "c:\python25\lib\site-packages\Trac-0.11b2-py2.5.egg\trac\wiki\formatter.py", line 1123, in wiki_to_oneliner
    OneLinerFormatter(env, context).format(wikitext, out, shorten)
  File "c:\python25\lib\site-packages\Trac-0.11b2-py2.5.egg\trac\wiki\formatter.py", line 950, in format
    result = re.sub(self.wikiparser.rules, self.replace, result)
  File "C:\Python25\lib\re.py", line 142, in sub
    return _compile(pattern, 0).sub(repl, string, count)
  File "c:\python25\lib\site-packages\Trac-0.11b2-py2.5.egg\trac\wiki\formatter.py", line 804, in replace
    replacement = self.handle_match(fullmatch)
  File "c:\python25\lib\site-packages\Trac-0.11b2-py2.5.egg\trac\wiki\formatter.py", line 797, in handle_match
    return external_handler(self, match, fullmatch)
  File "c:\python25\lib\site-packages\Trac-0.11b2-py2.5.egg\trac\ticket\api.py", line 298, in <lambda>
    lambda x, y, z: self._format_link(x, 'ticket', y[1:], y, z))
  File "c:\python25\lib\site-packages\Trac-0.11b2-py2.5.egg\trac\ticket\api.py", line 319, in _format_link
    href = formatter.href.ticket(num) + params + fragment
AttributeError: 'NoneType' object has no attribute 'ticket'

and this patch seems to help:

  • TicketBox.py

    old new  
    134134    html = ''
    135135    if show_summary:
    136136        html = string.join([wiki_to_oneliner("%s (#%d)" % (v,k),
    137                                              env, env.get_db_cnx()) for k,v in long_items.iteritems()], "<br>")
     137                                             env,
     138                                             env.get_db_cnx(),
     139                                             req=formatter.req) for k,v in long_items.iteritems()], "<br>")
    138140    else:
    139141        html = wiki_to_oneliner(string.join(["#%d" % c for c in items], ", "),
    140142                                env, env.get_db_cnx(), req=formatter.req)

Attachments (0)

Change History (3)

comment:1 Changed 7 years ago by gotoh

  • Resolution set to fixed
  • Status changed from new to closed

(In [3722]) Pass 'req' object in case of 'summary' option. Fix #3082. (thanks to nicholas).

comment:2 Changed 6 years ago by anonymous

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:3 Changed 6 years ago by gotoh

  • Resolution set to fixed
  • Status changed from reopened to closed

I cannot reproduce this issue after r3722. Please write description you encounted if you want to reopen. So temporarily close this.

Add Comment

Modify Ticket

Action
as closed The owner will remain gotoh.
The resolution will be deleted. Next status will be 'reopened'.
Author


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

 
Note: See TracTickets for help on using tickets.