Modify

Opened 6 years ago

Closed 2 years ago

Last modified 2 years ago

#4820 closed defect (fixed)

[Patch] UnicodeDecode Error line 50 in ticketdeletete_admin.html

Reported by: ngolovin@… Owned by: coderanger
Priority: normal Component: TicketDeletePlugin
Severity: normal Keywords:
Cc: matthijs@… Trac Release: 0.11

Description

Was solved by changing the line 50 as follows:

<td colspan="3" py:with="ptime=unicode(ticketdelete.
changes[change].prettytime.decode('utf-8'))"><b>Change 
at ${ptime} by ${ticketdelete.changes[change].author}</b></td>

I have german locale setting, that might be the reason why prettytime contains characers that genshi doesn't like.

Attachments (0)

Change History (13)

comment:1 Changed 6 years ago by anonymous

I hit this and fixed it by using the locale format "%x %X":

  • ticketdelete/web_ui.py

     
    102102                        c_data['author'] = author
    103103                        # FIXME: The datetime handling is not working - enable
    104104                        # for traceback
    105                         c_data['prettytime'] = strftime('%a, %d %b %Y %H:%M:%S',time.timetuple())
     105                        c_data['prettytime'] = strftime('%x %X',time.timetuple())
    106106                   
    107107                    # Check the boxes next to change number `selected`
    108108                    time_list = list(sorted(ticket_data.iterkeys()))

comment:3 Changed 5 years ago by gebb@…

Here is an alternative patch.

  • ticketdelete/web_ui.py

     
    88from trac.web.api import IRequestFilter
    99from trac.web.chrome import ITemplateProvider, add_script, add_stylesheet
    1010from trac.util import sorted
    11 from trac.util.datefmt import to_datetime, utc, to_timestamp
     11from trac.util.datefmt import to_datetime, utc, to_timestamp, format_datetime
    1212
    1313import re
    1414import traceback
     
    100100                        c_data = ticket_data.setdefault(to_timestamp(time), {})
    101101                        c_data.setdefault('fields', {})[field] = {'old': oldvalue, 'new': newvalue}
    102102                        c_data['author'] = author
    103                         # FIXME: The datetime handling is not working - enable
    104                         # for traceback
    105                         c_data['prettytime'] = strftime('%a, %d %b %Y %H:%M:%S',time.timetuple())
     103                        c_data['prettytime'] = format_datetime(time, '%a, %d %b %Y %H:%M:%S')
    106104                   
    107105                    # Check the boxes next to change number `selected`
    108106                    time_list = list(sorted(ticket_data.iterkeys()))

comment:4 Changed 5 years ago by rjollos

  • Summary changed from UnicodeDecode Error line 50 in ticketdeletete_admin.html to [Patch] UnicodeDecode Error line 50 in ticketdeletete_admin.html

comment:5 Changed 5 years ago by Jens.Langner@…

I run into the same problem with my german python installation. I tried both patches, but the patch with

strftime('%x %X',time.timetuple())

seems more appropriate because the other one still inserts german month names into the web display while the other components of trac are displayed in english. Here I just changed the locale for displaying times like "DD.MM.YYYY" instead of "MM/DD/YYYY". So "%x %X" seems to be more appropriate.

comment:6 Changed 4 years ago by matthijs

  • Cc matthijs@… added; anonymous removed

I've also seen this problem with a french locale. Using the %x %X patch works for me. Any chance to include this?

comment:7 Changed 3 years ago by bsavelev

comment:3 works for me too (for russian users).

comment:7 Changed 2 years ago by rjollos

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

(In [11790]) Fixes #4820: Use trac.util.datefmt.format_datetime from Trac for proper handling of the locale.

comment:8 Changed 2 years ago by rjollos

If anyone is still using this plugin, I appreciate if you can post feedback on whether [11790] fixed the issue.

comment:9 Changed 2 years ago by matthijs

I'm still using this plugin every other day or so to delete spam tickets :-D

I just tried 2.0.1 to find a ticket where the problem occurred and then 2.0.2 / r11790 which fixes the problem for me (french locale).

Thanks!

comment:10 Changed 2 years ago by rjollos

#8346 closed as a duplicate.

comment:11 Changed 2 years ago by rjollos

matthijs: Thanks for reporting back. The plugin is no longer needed with Trac 0.12, but I'm trying to wrap up the major issues that affect 0.11 users, since it appears there are still several people using this plugin. If any of the open issues are affecting you, please assign the tickets to me and I'll get them fixed.

comment:12 Changed 2 years ago by matthijs

We're still running on 0.11, so ticketdelete is useful for me still. I just looked through the list of tickets, there's nothing that I've ran into on first glance, so everything is pretty functional for me. I think there was some issue with deleting changes (IIRC using the checkmarks on complete changes didn't work or something, but the Delete Change button did), but that doesn't really bother me, so I'm fine!

comment:13 Changed 2 years ago by rjollos

Thanks for checking. I'll CC you on any other tickets that I make changes against, in case you might have an interest in the fix.

Add Comment

Modify Ticket

Action
as closed The owner will remain coderanger.
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.