Module: deluge
Branch: 1.3-stable
Commit: 7fb3c3c04cf683ae19fa2a2dc1b4453845249bc6

Author: John Garland <[email protected]>
Date:   Mon Jun  7 19:49:09 2010 +1000

Fix unicode support in console ui (#1307)

---

 ChangeLog                   |    4 ++++
 deluge/ui/console/screen.py |   20 ++++++--------------
 2 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 21b4896..4b119be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/deluge/ui/console/screen.py b/deluge/ui/console/screen.py
index a8f7f9a..ad0da73 100644
--- a/deluge/ui/console/screen.py
+++ b/deluge/ui/console/screen.py
@@ -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
 

-- 
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en.

Reply via email to