Modify

Opened 6 years ago

Closed 6 years ago

#3449 closed defect (duplicate)

mastertickets.webui causes genshi traceback

Reported by: bernd.tegge@… Owned by: coderanger
Priority: normal Component: MasterTicketsPlugin
Severity: blocker Keywords: postgres, i18n
Cc: Trac Release: 0.11

Description

When I enable mastertickets.web_ui on an OpenSuse 11.0 install I get the following traceback in my browser when I try to view a ticket.

Traceback (most recent call last):
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11-py2.5.egg/trac/web/api.py", line 339, in send_error
    'text/html')
  File "/usr/local/lib/python2.5/site-packages/Trac-0.11-py2.5.egg/trac/web/chrome.py", line 726, in render_template
    stream.render(method, doctype=doctype, out=buffer)
  File "build/bdist.linux-i686/egg/genshi/core.py", line 179, in render
    return encode(generator, method=method, encoding=encoding, out=out)
  File "build/bdist.linux-i686/egg/genshi/output.py", line 57, in encode
    for chunk in iterator:
  File "build/bdist.linux-i686/egg/genshi/output.py", line 307, in __call__
    for kind, data, pos in stream:
  File "build/bdist.linux-i686/egg/genshi/output.py", line 749, in __call__
    for kind, data, pos in stream:
  File "build/bdist.linux-i686/egg/genshi/output.py", line 588, in __call__
    for kind, data, pos in stream:
  File "build/bdist.linux-i686/egg/genshi/output.py", line 703, in __call__
    text = mjoin(textbuf, escape_quotes=False)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1520: ordinal not in range(128)

According to the Genshi-FAQ this is not a genshi problem.

Versions: Python 2.5.2, Trac 0.11, Genshi 0.5.1 or Genshi 0.6dev_r914, MasterTicketsPlugin-2.1.2, postgresql 8.3.1.

An earlier install on a previous version of OpenSuse (Python 2.5.1, Trac 0.11, Genshi 0.6dev_r884, MasterTicketsPlugin-2.1.2, postgresql 8.2.6) did not show that problem.

Just an idea: As the computer (hopefully) uses utf-8 and locale de_DE-utf8 throughout the system could this be caused by umlauts from the error message caused by #2658 ?

Attachments (0)

Change History (2)

comment:1 Changed 6 years ago by bernd.tegge@…

  • Keywords postgres i18n added; web_ui genshi removed
  • Trac Release changed from 0.10 to 0.11

ok, I've patched model.py according to #2658 (see below). This seems to fix the problem for me.

diff -r -C3 masterticketsplugin/mastertickets/model.py masterticketsplugin-org//mastertickets/model.py
*** masterticketsplugin/mastertickets/model.py  2008-07-24 16:53:28.000000000 +0200
--- masterticketsplugin-org//mastertickets/model.py 2008-01-02 00:09:31.000000000 +0100
***************
*** 19,29 ****
          db = db or self.env.get_db_cnx()
          cursor = db.cursor()
          
!         cursor.execute('SELECT dest FROM mastertickets WHERE source=\'%s\' ORDER BY dest', (self.tkt.id,))
          self.blocking = set([num for num, in cursor])
          self._old_blocking = copy.copy(self.blocking)
          
!         cursor.execute('SELECT source FROM mastertickets WHERE dest=\'%s\' ORDER BY source', (self.tkt.id,))
          self.blocked_by = set([num for num, in cursor])
          self._old_blocked_by = copy.copy(self.blocked_by)
          
--- 19,29 ----
          db = db or self.env.get_db_cnx()
          cursor = db.cursor()
          
!         cursor.execute('SELECT dest FROM mastertickets WHERE source=%s ORDER BY dest', (self.tkt.id,))
          self.blocking = set([num for num, in cursor])
          self._old_blocking = copy.copy(self.blocking)
          
!         cursor.execute('SELECT source FROM mastertickets WHERE dest=%s ORDER BY source', (self.tkt.id,))
          self.blocked_by = set([num for num, in cursor])
          self._old_blocked_by = copy.copy(self.blocked_by)
          

comment:2 Changed 6 years ago by coderanger

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

Add Comment

Modify Ticket

Action
as closed .
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.