Fix core commands, broken in the previous commit.

This commit is contained in:
Emmanuel Gil Peyrot 2016-03-31 23:24:58 +01:00
parent 37cd7d1924
commit c1be52847b
15 changed files with 399 additions and 433 deletions

View file

@ -194,7 +194,7 @@ class Plugin(BasePlugin):
that we cannot/do not want to encrypt/decrypt messages.
"""
current_presence = self.core.get_status()
self.core.command_status('%s %s' % (current_presence.show or 'available', current_presence.message or '',))
self.core.command.status('%s %s' % (current_presence.show or 'available', current_presence.message or '',))
def on_normal_presence(self, presence):
"""
@ -293,7 +293,7 @@ class Plugin(BasePlugin):
"""
args = args.split()
if not args:
return self.core.command_help("gpg")
return self.core.command.help("gpg")
if len(args) >= 2:
jid = JID(args[1])
else:
@ -313,7 +313,7 @@ class Plugin(BasePlugin):
self.contacts[JID(jid).full] = 'disabled'
elif command == 'setkey':
if len(args) != 3:
return self.core.command_help("gpg")
return self.core.command.help("gpg")
if not self.config.has_section('keys'):
self.config.add_section('keys')
self.config.set(jid.bare, args[2], 'keys')

View file

@ -178,7 +178,7 @@ class Plugin(BasePlugin):
rooms = self.config.get_by_tabname('rooms', server, default='').split(':')
for room in rooms:
room = '{}%{}@{}/{}'.format(room, server, gateway, nick)
self.core.command_join(room)
self.core.command.join(room)
def initial_connect(self):
gateway = self.config.get('gateway', 'irc.poez.io')
@ -204,7 +204,7 @@ class Plugin(BasePlugin):
delayed = self.api.create_delayed_event(5, self.join, gw, sect)
self.api.add_timed_event(delayed)
if not already_opened:
self.core.command_join(room_suffix + '/' + nick)
self.core.command.join(room_suffix + '/' + nick)
delayed = self.api.create_delayed_event(5, login, gateway, section,
login_nick, login_command,
room_suffix[1:])
@ -278,7 +278,7 @@ class Plugin(BasePlugin):
/irc_join <room or server>
"""
if not args:
return self.core.command_help('irc_join')
return self.core.command.help('irc_join')
sections = self.config.sections()
if 'irc' in sections:
sections.remove('irc')
@ -294,7 +294,7 @@ class Plugin(BasePlugin):
server.
"""
if args is None:
return self.core.command_help('irc_query')
return self.core.command.help('irc_query')
current_tab_info = self.get_current_tab_irc_info()
if not current_tab_info:
return
@ -305,9 +305,9 @@ class Plugin(BasePlugin):
message = args[1]
jid = '{}!{}@{}'.format(nickname, server, gateway)
if message:
self.core.command_message('{} "{}"'.format(jid, message))
self.core.command.message('{} "{}"'.format(jid, message))
else:
self.core.command_message('{}'.format(jid))
self.core.command.message('{}'.format(jid))
def join_server_rooms(self, section):
"""
@ -324,7 +324,7 @@ class Plugin(BasePlugin):
suffix = '%{}@{}{}'.format(section, gateway, nick)
for room in rooms:
self.core.command_join(room + suffix)
self.core.command.join(room + suffix)
def join_room(self, name):
"""
@ -339,7 +339,7 @@ class Plugin(BasePlugin):
if self.config.get_by_tabname('nickname', server):
room += '/' + self.config.get_by_tabname('nickname', server)
self.core.command_join(room)
self.core.command.join(room)
def get_current_tab_irc_info(self):
"""

View file

@ -810,7 +810,7 @@ class Plugin(BasePlugin):
"""
args = common.shell_split(arg)
if not args:
return self.core.command_help('otr')
return self.core.command.help('otr')
action = args.pop(0)
tab = self.api.current_tab()
name = tab.name
@ -920,7 +920,7 @@ class Plugin(BasePlugin):
/otrsmp <ask|answer|abort> [question] [secret]
"""
if args is None or not args:
return self.core.command_help('otrsmp')
return self.core.command.help('otrsmp')
length = len(args)
action = args.pop(0)
if length == 2:

View file

@ -58,7 +58,7 @@ class Plugin(BasePlugin):
@command_args_parser.raw
def command_ping(self, arg):
if not arg:
return self.core.command_help('ping')
return self.core.command.help('ping')
jid = safeJID(arg)
start = time.time()
def callback(iq):

View file

@ -99,7 +99,7 @@ class Plugin(BasePlugin, pyinotify.Notifier):
if attached != self.attached:
self.attached = attached
status = 'available' if self.attached else 'away'
self.core.command_status(status)
self.core.command.status(status)
if self.config.get('use_csi'):
if self.attached:
self.core.xmpp.plugin['xep_0352'].send_active()

View file

@ -52,7 +52,7 @@ class Plugin(BasePlugin):
def command_tell(self, args):
"""/tell <nick> <message>"""
if args is None:
self.core.command_help('tell')
self.core.command.help('tell')
return
nick, msg = args
tab = self.api.current_tab()

File diff suppressed because it is too large Load diff

View file

@ -43,7 +43,7 @@ from theming import get_theme
import keyboard
from . completions import CompletionCore
from . import commands
from . commands import CommandCore
from . import handlers
from . structs import POSSIBLE_SHOW, DEPRECATED_ERRORS, \
ERROR_AND_STATUS_CODES, Command, Status
@ -56,6 +56,7 @@ class Core(object):
def __init__(self):
self.completion = CompletionCore(self)
self.command = CommandCore(self)
# All uncaught exception are given to this callback, instead
# of being displayed on the screen and exiting the program.
sys.excepthook = self.on_exception
@ -162,14 +163,14 @@ class Core(object):
'M-C': self.scroll_info_down,
'M-k': self.escape_next_key,
######## actions mappings ##########
'_bookmark': self.command_bookmark,
'_bookmark_local': self.command_bookmark_local,
'_bookmark': self.command.bookmark,
'_bookmark_local': self.command.bookmark_local,
'_close_tab': self.close_tab,
'_disconnect': self.disconnect,
'_quit': self.command_quit,
'_quit': self.command.quit,
'_redraw_screen': self.full_screen_redraw,
'_reload_theme': self.command_theme,
'_remove_bookmark': self.command_remove_bookmark,
'_reload_theme': self.command.theme,
'_remove_bookmark': self.command.remove_bookmark,
'_room_left': self.rotate_rooms_left,
'_room_right': self.rotate_rooms_right,
'_show_roster': self.go_to_roster,
@ -177,19 +178,19 @@ class Core(object):
'_scroll_up': self.scroll_page_up,
'_scroll_info_up': self.scroll_info_up,
'_scroll_info_down': self.scroll_info_down,
'_server_cycle': self.command_server_cycle,
'_show_bookmarks': self.command_bookmarks,
'_server_cycle': self.command.server_cycle,
'_show_bookmarks': self.command.bookmarks,
'_show_important_room': self.go_to_important_room,
'_show_invitations': self.command_invitations,
'_show_plugins': self.command_plugins,
'_show_xmltab': self.command_xml_tab,
'_show_invitations': self.command.invitations,
'_show_plugins': self.command.plugins,
'_show_xmltab': self.command.xml_tab,
'_toggle_pane': self.toggle_left_pane,
###### status actions ######
'_available': lambda: self.command_status('available'),
'_away': lambda: self.command_status('away'),
'_chat': lambda: self.command_status('chat'),
'_dnd': lambda: self.command_status('dnd'),
'_xa': lambda: self.command_status('xa'),
'_available': lambda: self.command.status('available'),
'_away': lambda: self.command.status('away'),
'_chat': lambda: self.command.status('chat'),
'_dnd': lambda: self.command.status('dnd'),
'_xa': lambda: self.command.status('xa'),
##### Custom actions ########
'_exc_': self.try_execute,
}
@ -645,7 +646,7 @@ class Core(object):
if self.current_tab().nb == nb and config.get('go_to_previous_tab_on_alt_number'):
self.go_to_previous_tab()
else:
self.command_win('%d' % nb)
self.command.win('%d' % nb)
# search for keyboard shortcut
func = self.key_func.get(char, None)
if func:
@ -1021,7 +1022,7 @@ class Core(object):
"""
self.tabs.append(new_tab)
if focus:
self.command_win("%s" % new_tab.nb)
self.command.win("%s" % new_tab.nb)
def insert_tab_nogaps(self, old_pos, new_pos):
"""
@ -1141,7 +1142,7 @@ class Core(object):
if len(self.room_number_jump) == 2:
arg = "".join(self.room_number_jump)
self.room_number_jump.clear()
self.command_win(arg)
self.command.win(arg)
else:
# We need to read more digits
keyboard.continuation_keys_callback = read_next_digit
@ -1149,11 +1150,11 @@ class Core(object):
def go_to_roster(self):
"Select the roster as the current tab"
self.command_win('0')
self.command.win('0')
def go_to_previous_tab(self):
"Go to the previous tab"
self.command_win('%s' % (self.previous_tab_nb,))
self.command.win('%s' % (self.previous_tab_nb,))
def go_to_important_room(self):
"""
@ -1182,7 +1183,7 @@ class Core(object):
if (tab.nb < self.current_tab_nb and
tab_refs[state][-1].nb > self.current_tab_nb):
continue
self.command_win('%s' % tab.nb)
self.command.win('%s' % tab.nb)
return
return
@ -1191,7 +1192,7 @@ class Core(object):
for tab in self.tabs:
if tab.name == tab_name:
if (type_ and (isinstance(tab, type_))) or not type_:
self.command_win('%s' % (tab.nb,))
self.command.win('%s' % (tab.nb,))
return True
return False
@ -1242,7 +1243,7 @@ class Core(object):
# if the room exists, focus it and return
for tab in self.get_tabs(tabs.PrivateTab):
if tab.name == complete_jid:
self.command_win('%s' % tab.nb)
self.command.win('%s' % tab.nb)
return tab
# create the new tab
tab = self.get_tab_by_name(room_name, tabs.MucTab)
@ -1727,11 +1728,11 @@ class Core(object):
"""
Register the commands when poezio starts
"""
self.register_command('help', self.command_help,
self.register_command('help', self.command.help,
usage='[command]',
shortdesc='\\_o< KOIN KOIN KOIN',
completion=self.completion.help)
self.register_command('join', self.command_join,
self.register_command('join', self.command.join,
usage="[room_name][@server][/nick] [password]",
desc="Join the specified room. You can specify a nickname "
"after a slash (/). If no nickname is specified, you will"
@ -1746,22 +1747,22 @@ class Core(object):
".tld/my_nick password\n/join / password",
shortdesc='Join a room',
completion=self.completion.join)
self.register_command('exit', self.command_quit,
self.register_command('exit', self.command.quit,
desc='Just disconnect from the server and exit poezio.',
shortdesc='Exit poezio.')
self.register_command('quit', self.command_quit,
self.register_command('quit', self.command.quit,
desc='Just disconnect from the server and exit poezio.',
shortdesc='Exit poezio.')
self.register_command('next', self.rotate_rooms_right,
shortdesc='Go to the next room.')
self.register_command('prev', self.rotate_rooms_left,
shortdesc='Go to the previous room.')
self.register_command('win', self.command_win,
self.register_command('win', self.command.win,
usage='<number or name>',
shortdesc='Go to the specified room',
completion=self.completion.win)
self.commands['w'] = self.commands['win']
self.register_command('move_tab', self.command_move_tab,
self.register_command('move_tab', self.command.move_tab,
usage='<source> <destination>',
desc="Insert the <source> tab at the position of "
"<destination>. This will make the following tabs shift in"
@ -1771,14 +1772,14 @@ class Core(object):
"tab.",
shortdesc='Move a tab.',
completion=self.completion.move_tab)
self.register_command('destroy_room', self.command_destroy_room,
self.register_command('destroy_room', self.command.destroy_room,
usage='[room JID]',
desc='Try to destroy the room [room JID], or the current'
' tab if it is a multi-user chat and [room JID] is '
'not given.',
shortdesc='Destroy a room.',
completion=None)
self.register_command('show', self.command_status,
self.register_command('show', self.command.status,
usage='<availability> [status message]',
desc="Sets your availability and (optionally) your status "
"message. The <availability> argument is one of \"available"
@ -1787,7 +1788,7 @@ class Core(object):
shortdesc='Change your availability.',
completion=self.completion.status)
self.commands['status'] = self.commands['show']
self.register_command('bookmark_local', self.command_bookmark_local,
self.register_command('bookmark_local', self.command.bookmark_local,
usage="[roomname][/nick] [password]",
desc="Bookmark Local: Bookmark locally the specified room "
"(you will then auto-join it on each poezio start). This"
@ -1798,7 +1799,7 @@ class Core(object):
"(instead of default_nick)",
shortdesc='Bookmark a room locally.',
completion=self.completion.bookmark_local)
self.register_command('bookmark', self.command_bookmark,
self.register_command('bookmark', self.command.bookmark,
usage="[roomname][/nick] [autojoin] [password]",
desc="Bookmark: Bookmark online the specified room (you "
"will then auto-join it on each poezio start if autojoin"
@ -1809,7 +1810,7 @@ class Core(object):
"currently using in this room (instead of default_nick).",
shortdesc="Bookmark a room online.",
completion=self.completion.bookmark)
self.register_command('set', self.command_set,
self.register_command('set', self.command.set,
usage="[plugin|][section] <option> [value]",
desc="Set the value of an option in your configuration file."
" You can, for example, change your default nickname by "
@ -1820,7 +1821,7 @@ class Core(object):
"used as a special value to toggle a boolean option.",
shortdesc="Set the value of an option",
completion=self.completion.set)
self.register_command('set_default', self.command_set_default,
self.register_command('set_default', self.command.set_default,
usage="[section] <option>",
desc="Set the default value of an option. For example, "
"`/set_default resource` will reset the resource "
@ -1828,104 +1829,104 @@ class Core(object):
"sections by doing `/set_default section option`.",
shortdesc="Set the default value of an option",
completion=self.completion.set_default)
self.register_command('toggle', self.command_toggle,
self.register_command('toggle', self.command.toggle,
usage='<option>',
desc='Shortcut for /set <option> toggle',
shortdesc='Toggle an option',
completion=self.completion.toggle)
self.register_command('theme', self.command_theme,
self.register_command('theme', self.command.theme,
usage='[theme name]',
desc="Reload the theme defined in the config file. If theme"
"_name is provided, set that theme before reloading it.",
shortdesc='Load a theme',
completion=self.completion.theme)
self.register_command('list', self.command_list,
self.register_command('list', self.command.list,
usage='[server]',
desc="Get the list of public chatrooms"
" on the specified server.",
shortdesc='List the rooms.',
completion=self.completion.list)
self.register_command('message', self.command_message,
self.register_command('message', self.command.message,
usage='<jid> [optional message]',
desc="Open a conversation with the specified JID (even if it"
" is not in our roster), and send a message to it, if the "
"message is specified.",
shortdesc='Send a message',
completion=self.completion.message)
self.register_command('version', self.command_version,
self.register_command('version', self.command.version,
usage='<jid>',
desc="Get the software version of the given JID (usually its"
" XMPP client and Operating System).",
shortdesc='Get the software version of a JID.',
completion=self.completion.version)
self.register_command('server_cycle', self.command_server_cycle,
self.register_command('server_cycle', self.command.server_cycle,
usage='[domain] [message]',
desc='Disconnect and reconnect in all the rooms in domain.',
shortdesc='Cycle a range of rooms',
completion=self.completion.server_cycle)
self.register_command('bind', self.command_bind,
self.register_command('bind', self.command.bind,
usage='<key> <equ>',
desc="Bind a key to another key or to a “command”. For "
"example \"/bind ^H KEY_UP\" makes Control + h do the"
" same same as the Up key.",
completion=self.completion.bind,
shortdesc='Bind a key to another key.')
self.register_command('load', self.command_load,
self.register_command('load', self.command.load,
usage='<plugin> [<otherplugin> …]',
shortdesc='Load the specified plugin(s)',
completion=self.plugin_manager.completion_load)
self.register_command('unload', self.command_unload,
self.register_command('unload', self.command.unload,
usage='<plugin> [<otherplugin> …]',
shortdesc='Unload the specified plugin(s)',
completion=self.plugin_manager.completion_unload)
self.register_command('plugins', self.command_plugins,
self.register_command('plugins', self.command.plugins,
shortdesc='Show the plugins in use.')
self.register_command('presence', self.command_presence,
self.register_command('presence', self.command.presence,
usage='<JID> [type] [status]',
desc="Send a directed presence to <JID> and using"
" [type] and [status] if provided.",
shortdesc='Send a directed presence.',
completion=self.completion.presence)
self.register_command('rawxml', self.command_rawxml,
self.register_command('rawxml', self.command.rawxml,
usage='<xml>',
shortdesc='Send a custom xml stanza.')
self.register_command('invite', self.command_invite,
self.register_command('invite', self.command.invite,
usage='<jid> <room> [reason]',
desc='Invite jid in room with reason.',
shortdesc='Invite someone in a room.',
completion=self.completion.invite)
self.register_command('invitations', self.command_invitations,
self.register_command('invitations', self.command.invitations,
shortdesc='Show the pending invitations.')
self.register_command('bookmarks', self.command_bookmarks,
self.register_command('bookmarks', self.command.bookmarks,
shortdesc='Show the current bookmarks.')
self.register_command('remove_bookmark', self.command_remove_bookmark,
self.register_command('remove_bookmark', self.command.remove_bookmark,
usage='[jid]',
desc="Remove the specified bookmark, or the "
"bookmark on the current tab, if any.",
shortdesc='Remove a bookmark',
completion=self.completion.remove_bookmark)
self.register_command('xml_tab', self.command_xml_tab,
self.register_command('xml_tab', self.command.xml_tab,
shortdesc='Open an XML tab.')
self.register_command('runkey', self.command_runkey,
self.register_command('runkey', self.command.runkey,
usage='<key>',
shortdesc='Execute the action defined for <key>.',
completion=self.completion.runkey)
self.register_command('self', self.command_self,
self.register_command('self', self.command.self,
shortdesc='Remind you of who you are.')
self.register_command('last_activity', self.command_last_activity,
self.register_command('last_activity', self.command.last_activity,
usage='<jid>',
desc='Informs you of the last activity of a JID.',
shortdesc='Get the activity of someone.',
completion=self.completion.last_activity)
self.register_command('ad-hoc', self.command_adhoc,
self.register_command('ad-hoc', self.command.adhoc,
usage='<jid>',
shortdesc='List available ad-hoc commands on the given jid')
self.register_command('reload', self.command_reload,
self.register_command('reload', self.command.reload,
shortdesc='Reload the config. You can achieve the same by '
'sending SIGUSR1 to poezio.')
if config.get('enable_user_activity'):
self.register_command('activity', self.command_activity,
self.register_command('activity', self.command.activity,
usage='[<general> [specific] [text]]',
desc='Send your current activity to your contacts '
'(use the completion). Nothing means '
@ -1933,7 +1934,7 @@ class Core(object):
shortdesc='Send your activity.',
completion=self.completion.activity)
if config.get('enable_user_mood'):
self.register_command('mood', self.command_mood,
self.register_command('mood', self.command.mood,
usage='[<mood> [text]]',
desc='Send your current mood to your contacts '
'(use the completion). Nothing means '
@ -1941,7 +1942,7 @@ class Core(object):
shortdesc='Send your mood.',
completion=self.completion.mood)
if config.get('enable_user_gaming'):
self.register_command('gaming', self.command_gaming,
self.register_command('gaming', self.command.gaming,
usage='[<game name> [server address]]',
desc='Send your current gaming activity to '
'your contacts. Nothing means "stop '
@ -2012,43 +2013,6 @@ class Core(object):
cancel_adhoc_command = handlers.cancel_adhoc_command
validate_adhoc_step = handlers.validate_adhoc_step
terminate_adhoc_command = handlers.terminate_adhoc_command
command_help = commands.command_help
command_runkey = commands.command_runkey
command_status = commands.command_status
command_presence = commands.command_presence
command_theme = commands.command_theme
command_win = commands.command_win
command_move_tab = commands.command_move_tab
command_list = commands.command_list
command_version = commands.command_version
command_join = commands.command_join
command_bookmark_local = commands.command_bookmark_local
command_bookmark = commands.command_bookmark
command_bookmarks = commands.command_bookmarks
command_destroy_room = commands.command_destroy_room
command_remove_bookmark = commands.command_remove_bookmark
command_set = commands.command_set
command_set_default = commands.command_set_default
command_toggle = commands.command_toggle
command_server_cycle = commands.command_server_cycle
command_last_activity = commands.command_last_activity
command_mood = commands.command_mood
command_activity = commands.command_activity
command_gaming = commands.command_gaming
command_invite = commands.command_invite
command_decline = commands.command_decline
command_invitations = commands.command_invitations
command_quit = commands.command_quit
command_bind = commands.command_bind
command_rawxml = commands.command_rawxml
command_load = commands.command_load
command_unload = commands.command_unload
command_plugins = commands.command_plugins
command_message = commands.command_message
command_xml_tab = commands.command_xml_tab
command_adhoc = commands.command_adhoc
command_self = commands.command_self
command_reload = commands.command_reload

View file

@ -648,7 +648,7 @@ class ChatTab(Tab):
/correct <fixed message>
"""
if not line:
self.core.command_help('correct')
self.core.command.help('correct')
return
if not self.last_sent_message:
self.core.information('There is no message to correct.')

View file

@ -155,7 +155,7 @@ class ConversationTab(OneToOneTab):
/last_activity [jid]
"""
if args and args[0]:
return self.core.command_last_activity(args[0])
return self.core.command.last_activity(args[0])
def callback(iq):
if iq['type'] != 'result':
@ -223,7 +223,7 @@ class ConversationTab(OneToOneTab):
res.get('os') or 'an unknown platform')
self.core.information(version, 'Info')
if args:
return self.core.command_version(args[0])
return self.core.command.version(args[0])
jid = safeJID(self.name)
if not jid.resource:
if jid in roster:

View file

@ -66,5 +66,5 @@ class MucListTab(ListTab):
row = self.listview.get_selected_row()
if not row:
return
self.core.command_join(row[1])
self.core.command.join(row[1])

View file

@ -326,9 +326,9 @@ class MucTab(ChatTab):
def command_invite(self, args):
"""/invite <jid> [reason]"""
if args is None:
return self.core.command_help('invite')
return self.core.command.help('invite')
jid, reason = args
self.core.command_invite('%s %s "%s"' % (jid, self.name, reason))
self.core.command.invite('%s %s "%s"' % (jid, self.name, reason))
def completion_invite(self, the_input):
"""Completion for /invite"""
@ -352,7 +352,7 @@ class MucTab(ChatTab):
/info <nick>
"""
if args is None:
return self.core.command_help('info')
return self.core.command.help('info')
nick = args[0]
user = self.get_user_by_name(nick)
if not user:
@ -494,7 +494,7 @@ class MucTab(ChatTab):
User "random" to attribute a random color.
"""
if args is None:
return self.core.command_help('color')
return self.core.command.help('color')
nick = args[0]
color = args[1].lower()
user = self.get_user_by_name(nick)
@ -544,7 +544,7 @@ class MucTab(ChatTab):
res.get('os') or 'an unknown platform')
self.core.information(version, 'Info')
if args is None:
return self.core.command_help('version')
return self.core.command.help('version')
nick = args[0]
if nick in [user.nick for user in self.users]:
jid = safeJID(self.name).bare
@ -560,7 +560,7 @@ class MucTab(ChatTab):
/nick <nickname>
"""
if args is None:
return self.core.command_help('nick')
return self.core.command.help('nick')
nick = args[0]
if not self.joined:
return self.core.information('/nick only works in joined rooms',
@ -632,7 +632,7 @@ class MucTab(ChatTab):
/query <nick> [message]
"""
if args is None:
return self.core.command_help('query')
return self.core.command.help('query')
nick = args[0]
r = None
for user in self.users:
@ -719,7 +719,7 @@ class MucTab(ChatTab):
/kick <nick> [reason]
"""
if args is None:
return self.core.command_help('kick')
return self.core.command.help('kick')
if len(args) == 2:
msg = ' "%s"' % args[1]
else:
@ -735,7 +735,7 @@ class MucTab(ChatTab):
if iq['type'] == 'error':
self.core.room_error(iq, self.name)
if args is None:
return self.core.command_help('ban')
return self.core.command.help('ban')
if len(args) > 1:
msg = args[1]
else:
@ -765,7 +765,7 @@ class MucTab(ChatTab):
self.core.room_error(iq, self.name)
if args is None:
return self.core.command_help('role')
return self.core.command.help('role')
nick, role, reason = args[0], args[1].lower(), args[2]
@ -792,7 +792,7 @@ class MucTab(ChatTab):
self.core.room_error(iq, self.name)
if args is None:
return self.core.command_help('affiliation')
return self.core.command.help('affiliation')
nick, affiliation = args[0], args[1].lower()
@ -867,7 +867,7 @@ class MucTab(ChatTab):
/ignore <nick>
"""
if args is None:
return self.core.command_help('ignore')
return self.core.command.help('ignore')
nick = args[0]
user = self.get_user_by_name(nick)
@ -885,7 +885,7 @@ class MucTab(ChatTab):
/unignore <nick>
"""
if args is None:
return self.core.command_help('unignore')
return self.core.command.help('unignore')
nick = args[0]
user = self.get_user_by_name(nick)

View file

@ -204,7 +204,7 @@ class PrivateTab(OneToOneTab):
res.get('os') or 'an unknown platform')
self.core.information(version, 'Info')
if args:
return self.core.command_version(args[0])
return self.core.command.version(args[0])
jid = safeJID(self.name)
fixes.get_version(self.core.xmpp, jid,
callback=callback)

View file

@ -230,7 +230,7 @@ class RosterInfoTab(Tab):
/cert_add <name> <certfile> [cert-management]
"""
if not args or len(args) < 2:
return self.core.command_help('cert_add')
return self.core.command.help('cert_add')
def cb(iq):
if iq['type'] == 'error':
self.core.information('Unable to add the certificate.', 'Error')
@ -284,7 +284,7 @@ class RosterInfoTab(Tab):
/cert_disable <name>
"""
if not args:
return self.core.command_help('cert_disable')
return self.core.command.help('cert_disable')
def cb(iq):
if iq['type'] == 'error':
self.core.information('Unable to disable the certificate.', 'Error')
@ -301,7 +301,7 @@ class RosterInfoTab(Tab):
/cert_revoke <name>
"""
if not args:
return self.core.command_help('cert_revoke')
return self.core.command.help('cert_revoke')
def cb(iq):
if iq['type'] == 'error':
self.core.information('Unable to revoke the certificate.', 'Error')
@ -319,7 +319,7 @@ class RosterInfoTab(Tab):
/cert_fetch <name> <path>
"""
if not args or len(args) < 2:
return self.core.command_help('cert_fetch')
return self.core.command.help('cert_fetch')
def cb(iq):
if iq['type'] == 'error':
self.core.information('Unable to fetch the certificate.',
@ -485,7 +485,7 @@ class RosterInfoTab(Tab):
else:
self.core.information('No JID selected.', 'Error')
return
self.core.command_last_activity(jid)
self.core.command.last_activity(jid)
def resize(self):
self.need_resize = False
@ -646,7 +646,7 @@ class RosterInfoTab(Tab):
self.core.information('The name could not be set.', 'Error')
log.debug('Error in /name:\n%s', iq)
if args is None:
return self.core.command_help('name')
return self.core.command.help('name')
jid = safeJID(args[0]).bare
name = args[1] if len(args) == 2 else ''
@ -668,7 +668,7 @@ class RosterInfoTab(Tab):
Add the specified JID to the specified group
"""
if args is None:
return self.core.command_help('groupadd')
return self.core.command.help('groupadd')
jid = safeJID(args[0]).bare
group = args[1]
@ -708,7 +708,7 @@ class RosterInfoTab(Tab):
Remove the specified JID from the first specified group and add it to the second one
"""
if args is None:
return self.core.command_help('groupmove')
return self.core.command.help('groupmove')
jid = safeJID(args[0]).bare
group_from = args[1]
group_to = args[2]
@ -763,7 +763,7 @@ class RosterInfoTab(Tab):
Remove the specified JID from the specified group
"""
if args is None:
return self.core.command_help('groupremove')
return self.core.command.help('groupremove')
jid = safeJID(args[0]).bare
group = args[1]
@ -1125,9 +1125,9 @@ class RosterInfoTab(Tab):
selected_row = self.roster_win.get_selected_row()
if isinstance(selected_row, Contact):
for resource in selected_row.resources:
self.core.command_version(str(resource.jid))
self.core.command.version(str(resource.jid))
elif isinstance(selected_row, Resource):
self.core.command_version(str(selected_row.jid))
self.core.command.version(str(selected_row.jid))
else:
self.core.information('Nothing to get versions from', 'Info')

View file

@ -203,7 +203,7 @@ class XMLTab(Tab):
def command_filter_id(self, args):
"""/filter_id <id>"""
if args is None:
return self.core.command_help('filter_id')
return self.core.command.help('filter_id')
self.update_filters(matcher.MatcherId(args[0]))
self.refresh()
@ -234,7 +234,7 @@ class XMLTab(Tab):
def command_dump(self, args):
"""/dump <filename>"""
if args is None:
return self.core.command_help('dump')
return self.core.command.help('dump')
if self.filters:
xml = self.filtered_buffer.messages[:]
else: