Fix unicode support in console ui (#1307)

This commit is contained in:
John Garland 2010-06-07 19:49:09 +10:00
parent 19c27ee8c5
commit 7fb3c3c04c
2 changed files with 10 additions and 14 deletions

View File

@ -1,3 +1,7 @@
=== Deluge 1.3.0-rc2 (In Development) ===
==== ConsoleUI ====
* #1307: Fix not being able to add torrents
=== Deluge 1.3.0-rc1 (08 May 2010) ===
==== Core ====
* Implement #1063 option to delete torrent file copy on torrent removal - patch from Ghent

View File

@ -308,7 +308,7 @@ class Screen(CursesStdIO):
if c == curses.KEY_ENTER or c == 10:
if self.input:
self.add_line(">>> " + self.input)
self.command_parser(self.input)
self.command_parser(self.input.encode(self.encoding))
if len(self.input_history) == INPUT_HISTORY_SIZE:
# Remove the oldest input history if the max history size
# is reached.
@ -404,21 +404,13 @@ class Screen(CursesStdIO):
if c > 31 and c < 256:
# Emulate getwch
stroke = chr(c)
uchar = None
while 1:
uchar = ""
while not uchar:
try:
uchar = stroke.decode(self.encoding)
except UnicodeDecodeError:
pass
c = self.stdscr.getch()
if c == -1:
break
stroke += chr(c)
c = self.stdscr.getch()
stroke += chr(c)
if uchar:
if self.input_cursor == len(self.input):
@ -426,7 +418,7 @@ class Screen(CursesStdIO):
else:
# Insert into string
self.input = self.input[:self.input_cursor] + uchar + self.input[self.input_cursor:]
# Move the cursor forward
self.input_cursor += 1