From 03a691c4d16e2b40c081d89629172c4f0ac870be Mon Sep 17 00:00:00 2001 From: mathieui Date: Fri, 13 May 2011 20:19:10 +0200 Subject: Fix #2176, and remove useless stuff added by 2to3 --- src/core.py | 18 +++++++++--------- src/tabs.py | 28 +++++++++++++++------------- src/windows.py | 2 +- 3 files changed, 25 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/core.py b/src/core.py index f5980af1..381110da 100644 --- a/src/core.py +++ b/src/core.py @@ -682,7 +682,7 @@ class Core(object): else: self.command_win('%d' % nb) # search for keyboard shortcut - if char in list(self.key_func.keys()): + if char in self.key_func: self.key_func[char]() else: self.do_command(char) @@ -853,7 +853,7 @@ class Core(object): code = error['error']['code'] body = error['error']['text'] if not body: - if code in list(ERROR_AND_STATUS_CODES.keys()): + if code in ERROR_AND_STATUS_CODES: body = ERROR_AND_STATUS_CODES[code] else: body = condition or _('Unknown error') @@ -980,15 +980,15 @@ class Core(object): args = arg.split() if len(args) == 0: msg = _('Available commands are: ') - for command in list(self.commands.keys()): + for command in self.commands: msg += "%s " % command - for command in list(self.current_tab().commands.keys()): + for command in self.current_tab().commands: msg += "%s " % command msg += _("\nType /help to know what each command does") if len(args) >= 1: - if args[0] in list(self.commands.keys()): + if args[0] in self.commands: msg = self.commands[args[0]][1] - elif args[0] in list(self.current_tab().commands.keys()): + elif args[0] in self.current_tab().commands: msg = self.current_tab().commands[args[0]][1] else: msg = _('Unknown command: %s') % args[0] @@ -1024,7 +1024,7 @@ class Core(object): self.set_status(show, msg) def completion_status(self, the_input): - return the_input.auto_completion([status for status in list(possible_show.keys())], ' ') + return the_input.auto_completion([status for status in possible_show], ' ') def command_message(self, arg): """ @@ -1430,12 +1430,12 @@ class Core(object): command = line.strip()[:].split()[0][1:] arg = line[2+len(command):] # jump the '/' and the ' ' # example. on "/link 0 open", command = "link" and arg = "0 open" - if command in list(self.commands.keys()): + if command in self.commands: func = self.commands[command][0] func(arg) return else: - self.information(_("unknown command (%s)") % (command), _('Error')) + self.information(_("Unknown command (%s)") % (command), _('Error')) def doupdate(self): if not self.running: diff --git a/src/tabs.py b/src/tabs.py index fa8cc5f8..796c2f26 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -119,8 +119,8 @@ class Tab(object): return command[2](the_input) else: # complete the command's name - words = ['/%s'%(name) for name in list(self.core.commands.keys())] +\ - ['/%s'% (name) for name in list(self.commands.keys())] + words = ['/%s'%(name) for name in self.core.commands] +\ + ['/%s'% (name) for name in self.commands] the_input.auto_completion(words, '') return True return False @@ -307,8 +307,10 @@ class ChatTab(Tab): if not empty_before and empty_after: self.send_chat_state("active") self.cancel_paused_delay() - elif (empty_before or (self.timed_event_paused is not None and not self.timed_event_paused())) and not empty_after: + elif (empty_before or (self.timed_event_paused is not None and not self.timed_event_paused())): + self.cancel_paused_delay() self.send_chat_state("composing") + self.set_paused_delay(True) def set_paused_delay(self, composing): """ @@ -593,6 +595,8 @@ class MucTab(ChatTab): msg = arg[len(nick)+1:] muc.send_private_message(self.core.xmpp, r.name, msg) self.core.add_message_to_text_buffer(r, msg, None, r.own_nick) + if not r: + self.core.information(_("Cannot find user: %s" % nick), 'Error') def command_topic(self, arg): """ @@ -719,9 +723,6 @@ class MucTab(ChatTab): self.input.do_command(key) empty_after = self.input.get_text() == '' or (self.input.get_text().startswith('/') and not self.input.get_text().startswith('//')) self.send_composing_chat_state(empty_before, empty_after) - if not empty_before and empty_after: - self.cancel_paused_delay() - self.set_paused_delay(empty_before and not empty_after) return False def completion(self): @@ -730,6 +731,11 @@ class MucTab(ChatTab): """ if self.complete_commands(self.input): return + + empty_before = self.input.get_text() == '' or (self.input.get_text().startswith('/') and not self.input.get_text().startswith('//')) + empty_after = self.input.get_text() == '' or (self.input.get_text().startswith('/') and not self.input.get_text().startswith('//')) + self.send_composing_chat_state(empty_before, empty_after) + # If we are not completing a command or a command's argument, complete a nick compare_users = lambda x: x.last_talked word_list = [user.nick for user in sorted(self._room.users, key=compare_users, reverse=True)\ @@ -740,6 +746,7 @@ class MucTab(ChatTab): add_after = after else: add_after = ' ' + self.input.auto_completion(word_list, add_after) def get_color_state(self): @@ -1063,9 +1070,6 @@ class PrivateTab(ChatTab): self.input.do_command(key) empty_after = self.input.get_text() == '' or (self.input.get_text().startswith('/') and not self.input.get_text().startswith('//')) self.send_composing_chat_state(empty_before, empty_after) - if not empty_before and empty_after: - self.cancel_paused_delay() - self.set_paused_delay(empty_before and not empty_after) return False def on_lose_focus(self): @@ -1195,6 +1199,7 @@ class RosterInfoTab(Tab): """ jid = JID(args.strip()).bare if not jid: + self.core.information(_('No JID specified'), 'Error') return self.core.xmpp.sendPresence(pto=jid, ptype='subscribe') @@ -1242,7 +1247,7 @@ class RosterInfoTab(Tab): if isinstance(item, Contact) and item.get_ask() == 'asked': jid = item.get_bare_jid() else: - self.core.information('No subscription to deny') + self.core.information('No subscription to accept') return else: jid = args[0] @@ -1506,9 +1511,6 @@ class ConversationTab(ChatTab): self.input.do_command(key) empty_after = self.input.get_text() == '' or (self.input.get_text().startswith('/') and not self.input.get_text().startswith('//')) self.send_composing_chat_state(empty_before, empty_after) - self.set_paused_delay(empty_before and not empty_after) - if not empty_before and empty_after: - self.cancel_paused_delay() return False def on_lose_focus(self): diff --git a/src/windows.py b/src/windows.py index 75b08961..df361ed8 100644 --- a/src/windows.py +++ b/src/windows.py @@ -126,7 +126,7 @@ class Win(object): self._win.attron(curses.A_UNDERLINE) elif attr_char == 'b': self._win.attron(curses.A_BOLD) - elif attr_char in string.digits: + elif attr_char in string.digits and attr_char != '': self._win.attron(common.curses_color_pair(int(attr_char))) next_attr_char = text.find('\x19') self.addstr(text) -- cgit v1.2.3