From a1af8a49f15ff9d11a7c1e0ce6809e632ac25d28 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Tue, 22 Jan 2019 20:27:34 +0100 Subject: Store get_theme() in a variable in each function, to avoid redundant calls. --- poezio/tabs/muctab.py | 79 ++++++++++++++++++++++++++--------------------- poezio/tabs/privatetab.py | 29 +++++++++-------- 2 files changed, 60 insertions(+), 48 deletions(-) (limited to 'poezio/tabs') diff --git a/poezio/tabs/muctab.py b/poezio/tabs/muctab.py index d533f817..16f6d4cf 100644 --- a/poezio/tabs/muctab.py +++ b/poezio/tabs/muctab.py @@ -157,13 +157,14 @@ class MucTab(ChatTab): def leave_room(self, message: str): if self.joined: - info_col = dump_tuple(get_theme().COLOR_INFORMATION_TEXT) - char_quit = get_theme().CHAR_QUIT - spec_col = dump_tuple(get_theme().COLOR_QUIT_CHAR) + theme = get_theme() + info_col = dump_tuple(theme.COLOR_INFORMATION_TEXT) + char_quit = theme.CHAR_QUIT + spec_col = dump_tuple(theme.COLOR_QUIT_CHAR) if config.get_by_tabname('display_user_color_in_join_part', self.general_jid): - color = dump_tuple(get_theme().COLOR_OWN_NICK) + color = dump_tuple(theme.COLOR_OWN_NICK) else: color = "3" @@ -301,8 +302,9 @@ class MucTab(ChatTab): """ Print the current topic """ - info_text = dump_tuple(get_theme().COLOR_INFORMATION_TEXT) - norm_text = dump_tuple(get_theme().COLOR_NORMAL_TEXT) + theme = get_theme() + info_text = dump_tuple(theme.COLOR_INFORMATION_TEXT) + norm_text = dump_tuple(theme.COLOR_NORMAL_TEXT) if self.topic_from: user = self.get_user_by_name(self.topic_from) if user: @@ -521,7 +523,8 @@ class MucTab(ChatTab): if (self.core.tabs.current_tab is self and self.core.status.show not in ('xa', 'away')): self.send_chat_state('active') - new_user.color = get_theme().COLOR_OWN_NICK + theme = get_theme() + new_user.color = theme.COLOR_OWN_NICK if config.get_by_tabname('display_user_color_in_join_part', self.general_jid): @@ -529,14 +532,14 @@ class MucTab(ChatTab): else: color = "3" - info_col = dump_tuple(get_theme().COLOR_INFORMATION_TEXT) - warn_col = dump_tuple(get_theme().COLOR_WARNING_TEXT) - spec_col = dump_tuple(get_theme().COLOR_JOIN_CHAR) + info_col = dump_tuple(theme.COLOR_INFORMATION_TEXT) + warn_col = dump_tuple(theme.COLOR_WARNING_TEXT) + spec_col = dump_tuple(theme.COLOR_JOIN_CHAR) enable_message = ('\x19%(color_spec)s}%(spec)s\x19%(info_col)s} You ' '(\x19%(nick_col)s}%(nick)s\x19%(info_col)s}) joined' ' the room') % { 'nick': from_nick, - 'spec': get_theme().CHAR_JOIN, + 'spec': theme.CHAR_JOIN, 'color_spec': spec_col, 'nick_col': color, 'info_col': info_col, @@ -651,9 +654,10 @@ class MucTab(ChatTab): color = dump_tuple(user.color) else: color = 3 - info_col = dump_tuple(get_theme().COLOR_INFORMATION_TEXT) - spec_col = dump_tuple(get_theme().COLOR_JOIN_CHAR) - char_join = get_theme().CHAR_JOIN + theme = get_theme() + info_col = dump_tuple(theme.COLOR_INFORMATION_TEXT) + spec_col = dump_tuple(theme.COLOR_JOIN_CHAR) + char_join = theme.CHAR_JOIN if not jid.full: msg = ('\x19%(color_spec)s}%(spec)s \x19%(color)s}%(nick)s' '\x19%(info_col)s} joined the room') % { @@ -672,7 +676,7 @@ class MucTab(ChatTab): 'color': color, 'jid': jid.full, 'info_col': info_col, - 'jid_color': dump_tuple(get_theme().COLOR_MUC_JID), + 'jid_color': dump_tuple(theme.COLOR_MUC_JID), 'color_spec': spec_col, } self.add_message(msg, typ=2) @@ -731,8 +735,9 @@ class MucTab(ChatTab): else: by = None - info_col = dump_tuple(get_theme().COLOR_INFORMATION_TEXT) - char_kick = get_theme().CHAR_KICK + theme = get_theme() + info_col = dump_tuple(theme.COLOR_INFORMATION_TEXT) + char_kick = theme.CHAR_KICK if from_nick == self.own_nick: # we are banned if by: @@ -807,8 +812,9 @@ class MucTab(ChatTab): reason = presence.xml.find('{%s}x/{%s}item/{%s}reason' % (NS_MUC_USER, NS_MUC_USER, NS_MUC_USER)) by = None - info_col = dump_tuple(get_theme().COLOR_INFORMATION_TEXT) - char_kick = get_theme().CHAR_KICK + theme = get_theme() + info_col = dump_tuple(theme.COLOR_INFORMATION_TEXT) + char_kick = theme.CHAR_KICK if actor_elem is not None: by = actor_elem.get('nick') or actor_elem.get('jid') if from_nick == self.own_nick: # we are kicked @@ -901,8 +907,9 @@ class MucTab(ChatTab): color = dump_tuple(user.color) else: color = 3 - info_col = dump_tuple(get_theme().COLOR_INFORMATION_TEXT) - spec_col = dump_tuple(get_theme().COLOR_QUIT_CHAR) + theme = get_theme() + info_col = dump_tuple(theme.COLOR_INFORMATION_TEXT) + spec_col = dump_tuple(theme.COLOR_QUIT_CHAR) error_leave_txt = '' if server_initiated: @@ -914,18 +921,18 @@ class MucTab(ChatTab): 'room%(error_leave)s') % { 'nick': from_nick, 'color': color, - 'spec': get_theme().CHAR_QUIT, + 'spec': theme.CHAR_QUIT, 'info_col': info_col, 'color_spec': spec_col, 'error_leave': error_leave_txt, } else: - jid_col = dump_tuple(get_theme().COLOR_MUC_JID) + jid_col = dump_tuple(theme.COLOR_MUC_JID) leave_msg = ('\x19%(color_spec)s}%(spec)s \x19%(color)s}' '%(nick)s\x19%(info_col)s} (\x19%(jid_col)s}' '%(jid)s\x19%(info_col)s}) has left the ' 'room%(error_leave)s') % { - 'spec': get_theme().CHAR_QUIT, + 'spec': theme.CHAR_QUIT, 'nick': from_nick, 'color': color, 'jid': jid.full, @@ -952,16 +959,17 @@ class MucTab(ChatTab): color = dump_tuple(user.color) else: color = 3 + info_col = dump_tuple(get_theme().COLOR_INFORMATION_TEXT) if from_nick == self.own_nick: msg = '\x19%(color)s}You\x19%(info_col)s} changed: ' % { - 'info_col': dump_tuple(get_theme().COLOR_INFORMATION_TEXT), + 'info_col': info_col), 'color': color } else: msg = '\x19%(color)s}%(nick)s\x19%(info_col)s} changed: ' % { 'nick': from_nick, 'color': color, - 'info_col': dump_tuple(get_theme().COLOR_INFORMATION_TEXT) + 'info_col': info_col) } if affiliation != user.affiliation: msg += 'affiliation: %s, ' % affiliation @@ -1496,23 +1504,24 @@ class MucTab(ChatTab): if not self.joined: return + theme = get_theme() aff = { - 'owner': get_theme().CHAR_AFFILIATION_OWNER, - 'admin': get_theme().CHAR_AFFILIATION_ADMIN, - 'member': get_theme().CHAR_AFFILIATION_MEMBER, - 'none': get_theme().CHAR_AFFILIATION_NONE, + 'owner': theme.CHAR_AFFILIATION_OWNER, + 'admin': theme.CHAR_AFFILIATION_ADMIN, + 'member': theme.CHAR_AFFILIATION_MEMBER, + 'none': theme.CHAR_AFFILIATION_NONE, } colors = {} - colors["visitor"] = dump_tuple(get_theme().COLOR_USER_VISITOR) - colors["moderator"] = dump_tuple(get_theme().COLOR_USER_MODERATOR) - colors["participant"] = dump_tuple(get_theme().COLOR_USER_PARTICIPANT) - color_other = dump_tuple(get_theme().COLOR_USER_NONE) + colors["visitor"] = dump_tuple(theme.COLOR_USER_VISITOR) + colors["moderator"] = dump_tuple(theme.COLOR_USER_MODERATOR) + colors["participant"] = dump_tuple(theme.COLOR_USER_PARTICIPANT) + color_other = dump_tuple(theme.COLOR_USER_NONE) buff = ['Users: %s \n' % len(self.users)] for user in self.users: affiliation = aff.get(user.affiliation, - get_theme().CHAR_AFFILIATION_NONE) + theme.CHAR_AFFILIATION_NONE) color = colors.get(user.role, color_other) buff.append( '\x19%s}%s\x19o\x19%s}%s\x19o' % diff --git a/poezio/tabs/privatetab.py b/poezio/tabs/privatetab.py index 8f5f4d6f..4811f14e 100644 --- a/poezio/tabs/privatetab.py +++ b/poezio/tabs/privatetab.py @@ -345,21 +345,22 @@ class PrivateTab(OneToOneTab): The user left the associated MUC """ self.deactivate() + theme = get_theme() if config.get_by_tabname('display_user_color_in_join_part', self.general_jid): color = dump_tuple(user.color) else: - color = dump_tuple(get_theme().COLOR_REMOTE_USER) + color = dump_tuple(theme.COLOR_REMOTE_USER) if not status_message: self.add_message( '\x19%(quit_col)s}%(spec)s \x19%(nick_col)s}' '%(nick)s\x19%(info_col)s} has left the room' % { 'nick': user.nick, - 'spec': get_theme().CHAR_QUIT, + 'spec': theme.CHAR_QUIT, 'nick_col': color, - 'quit_col': dump_tuple(get_theme().COLOR_QUIT_CHAR), - 'info_col': dump_tuple(get_theme().COLOR_INFORMATION_TEXT) + 'quit_col': dump_tuple(theme.COLOR_QUIT_CHAR), + 'info_col': dump_tuple(theme.COLOR_INFORMATION_TEXT) }, typ=2) else: @@ -369,10 +370,10 @@ class PrivateTab(OneToOneTab): ' (%(status)s)' % { 'status': status_message, 'nick': user.nick, - 'spec': get_theme().CHAR_QUIT, + 'spec': theme.CHAR_QUIT, 'nick_col': color, - 'quit_col': dump_tuple(get_theme().COLOR_QUIT_CHAR), - 'info_col': dump_tuple(get_theme().COLOR_INFORMATION_TEXT) + 'quit_col': dump_tuple(theme.COLOR_QUIT_CHAR), + 'info_col': dump_tuple(theme.COLOR_INFORMATION_TEXT) }, typ=2) return self.core.tabs.current_tab is self @@ -385,7 +386,8 @@ class PrivateTab(OneToOneTab): self.activate() self.check_features() tab = self.parent_muc - color = dump_tuple(get_theme().COLOR_REMOTE_USER) + theme = get_theme() + color = dump_tuple(theme.COLOR_REMOTE_USER) if tab and config.get_by_tabname('display_user_color_in_join_part', self.general_jid): user = tab.get_user_by_name(nick) @@ -396,9 +398,9 @@ class PrivateTab(OneToOneTab): '%(info_col)s} joined the room' % { 'nick': nick, 'color': color, - 'spec': get_theme().CHAR_JOIN, - 'join_col': dump_tuple(get_theme().COLOR_JOIN_CHAR), - 'info_col': dump_tuple(get_theme().COLOR_INFORMATION_TEXT) + 'spec': theme.CHAR_JOIN, + 'join_col': dump_tuple(theme.COLOR_JOIN_CHAR), + 'info_col': dump_tuple(theme.COLOR_INFORMATION_TEXT) }, typ=2) return self.core.tabs.current_tab is self @@ -417,12 +419,13 @@ class PrivateTab(OneToOneTab): return [(3, safeJID(self.name).resource), (4, self.name)] def add_error(self, error_message): - error = '\x19%s}%s\x19o' % (dump_tuple(get_theme().COLOR_CHAR_NACK), + theme = get_theme() + error = '\x19%s}%s\x19o' % (dump_tuple(theme.COLOR_CHAR_NACK), error_message) self.add_message( error, highlight=True, nickname='Error', - nick_color=get_theme().COLOR_ERROR_MSG, + nick_color=theme.COLOR_ERROR_MSG, typ=2) self.core.refresh_window() -- cgit v1.2.3