Ticket #2394 (closed defect: fixed)
broken messages on trac-admin
| Reported by: | trac-ja@… | Owned by: | jonas |
|---|---|---|---|
| Priority: | high | Milestone: | 0.10 |
| Component: | admin/console | Version: | 0.9 |
| Severity: | normal | Keywords: | unicode |
| Cc: |
Description
trac-admin shows broken messages on non UTF-8 console (ex. CMD.EXE). The inputs are normally done, invalid-cases are only a display.
There is very simple cause. Even what charset the console is, display trac-admin with UTF-8.
When this patch is applied, it will improve:
-
trac/scripts/admin.py
25 25 import time 26 26 import traceback 27 27 import urllib 28 import locale 28 29 29 30 import trac 30 31 from trac import perm, util, db_default … … 198 199 return [a for a in words if a.startswith (text)] 199 200 200 201 def print_listing(self, headers, data, sep=' ', decor=True): 202 (cons_locale, cons_charset) = locale.getdefaultlocale() 201 203 ldata = list(data) 202 204 if decor: 203 205 ldata.insert(0, headers) … … 218 220 sp = sep 219 221 if cnum + 1 == ncols: 220 222 sp = '' # No separator after last column 223 if ldata[rnum][cnum]: 224 if cons_charset: 225 pdata = unicode(ldata[rnum][cnum], 'utf-8').encode(cons_charset) 226 else: 227 pdata = ldata[rnum][cnum] 228 else: 229 pdata = '' 221 230 print ('%%-%ds%s' % (colw[cnum], sp)) \ 222 % ( ldata[rnum][cnum] or ''),231 % (pdata), 223 232 print 224 233 if rnum == 0 and decor: 225 234 print ''.join(['-' for x in
Attachments
Change History
Note: See
TracTickets for help on using
tickets.


