#3199: unicode crash in deluge-console
------------------------+----------------------------
 Reporter:  pjlbyrne    |      Owner:
     Type:  bug         |     Status:  new
 Priority:  major       |  Milestone:  needs verified
Component:  Console UI  |    Version:  develop (git)
 Keywords:              |
------------------------+----------------------------
 I 'fixed' (I think) a bug in deluge-console. Please how may I submit it
 for approval / checkin? Here is the stacktrace:

 {{{
 16:58:57.792 [ERROR   ][deluge.ui.console.modes.basemode
 :1207] 'ascii' codec can't encode character u'\xf9' in position 15:
 ordinal not in range(128)
 Traceback (most recent call last):
   File "/usr/local/lib/python2.7/dist-
 packages/deluge-2.0.0b2.dev141-py2.7.egg/deluge/ui/console/modes/basemode.py",
 line 210, in doRead
     self.read_input()
   File "/usr/local/lib/python2.7/dist-
 
packages/deluge-2.0.0b2.dev141-py2.7.egg/deluge/ui/console/modes/torrentlist/torrentlist.py",
 line 286, in read_input
     self.minor_mode.handle_read(c)
   File "/usr/local/lib/python2.7/dist-
 
packages/deluge-2.0.0b2.dev141-py2.7.egg/deluge/ui/console/modes/torrentlist/search_mode.py",
 line 195, in handle_read
     self.torrentlist.refresh([])
   File "/usr/local/lib/python2.7/dist-
 
packages/deluge-2.0.0b2.dev141-py2.7.egg/deluge/ui/console/modes/torrentlist/torrentlist.py",
 line 223, in refresh
     self.torrentview.update_torrents(lines)
   File "/usr/local/lib/python2.7/dist-
 
packages/deluge-2.0.0b2.dev141-py2.7.egg/deluge/ui/console/modes/torrentlist/torrentview.py",
 line 325, in update_torrents
     trim=False, scr=self.torrentlist.torrentview_panel,
   File "/usr/local/lib/python2.7/dist-
 packages/deluge-2.0.0b2.dev141-py2.7.egg/deluge/ui/console/modes/basemode.py",
 line 160, in add_string
     return add_string(row, string, screen, self.encoding, **kwargs)
   File "/usr/local/lib/python2.7/dist-
 packages/deluge-2.0.0b2.dev141-py2.7.egg/deluge/ui/console/modes/basemode.py",
 line 290, in add_string
     screen.addstr(row, col, string, color)
 UnicodeEncodeError: 'ascii' codec can't encode character u'\xf9' in
 position 15: ordinal not in range(128)
 }}}
 Here is my proposed fix:

 {{{
 ~/deluge $ git diff deluge/ui/console/modes/basemode.py
 diff --git a/deluge/ui/console/modes/basemode.py
 b/deluge/ui/console/modes/basemode.py
 index 6226d1bc1..804ccdb42 100644
 --- a/deluge/ui/console/modes/basemode.py
 +++ b/deluge/ui/console/modes/basemode.py
 @@ -287,6 +287,7 @@ def add_string(row, fstring, screen, encoding, col=0,
 pad=True, pad_char=' ', tr
                  string = string[0:remaining_chrs]

          try:
 +            string = string.encode( encoding )
              screen.addstr(row, col, string, color)
          except curses.error as ex:
              # Ignore exception for writing offscreen.[/code]
 }}}

 Thanks

 Patrick

--
Ticket URL: <https://dev.deluge-torrent.org/ticket/3199>
Deluge <http://deluge-torrent.org/>
Deluge Project

-- 
You received this message because you are subscribed to the Google Groups 
"Deluge Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/deluge-dev.
For more options, visit https://groups.google.com/d/optout.

Reply via email to