diff options
author | mathieui <mathieui@mathieui.net> | 2016-08-25 20:22:01 +0200 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2016-08-25 20:22:01 +0200 |
commit | b7c23313b693a843abad166805ffdc614284af5e (patch) | |
tree | 5955db606caf81d1eea5fe7276246326553f5375 | |
parent | e8aa89687f1833e37a30683f82d7cafe907dfe03 (diff) | |
download | poezio-b7c23313b693a843abad166805ffdc614284af5e.tar.gz poezio-b7c23313b693a843abad166805ffdc614284af5e.tar.bz2 poezio-b7c23313b693a843abad166805ffdc614284af5e.tar.xz poezio-b7c23313b693a843abad166805ffdc614284af5e.zip |
Fix #3217 (allow /groupadd "group" with selected row in the roster)
-rw-r--r-- | poezio/tabs/rostertab.py | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/poezio/tabs/rostertab.py b/poezio/tabs/rostertab.py index 64aae731..7ec9f408 100644 --- a/poezio/tabs/rostertab.py +++ b/poezio/tabs/rostertab.py @@ -72,38 +72,38 @@ class RosterInfoTab(Tab): desc='Deny your presence to the provided JID (or the ' 'selected contact in your roster), who is asking' 'you to be in his/here roster.', - shortdesc='Deny an user your presence.', + shortdesc='Deny a user your presence.', completion=self.completion_deny) self.register_command('accept', self.command_accept, usage='[jid]', desc='Allow the provided JID (or the selected contact ' 'in your roster), to see your presence.', - shortdesc='Allow an user your presence.', + shortdesc='Allow a user your presence.', completion=self.completion_deny) self.register_command('add', self.command_add, usage='<jid>', desc='Add the specified JID to your roster, ask him to' ' allow you to see his presence, and allow him to' ' see your presence.', - shortdesc='Add an user to your roster.') + shortdesc='Add a user to your roster.') self.register_command('name', self.command_name, usage='<jid> [name]', shortdesc='Set the given JID\'s name.', completion=self.completion_name) self.register_command('groupadd', self.command_groupadd, - usage='<jid> <group>', - desc='Add the given JID to the given group.', - shortdesc='Add an user to a group', + usage='[<jid> <group>]|<group>', + desc='Add the given JID or selected line to the given group.', + shortdesc='Add a user to a group', completion=self.completion_groupadd) self.register_command('groupmove', self.command_groupmove, usage='<jid> <old group> <new group>', desc='Move the given JID from the old group to the new group.', - shortdesc='Move an user to another group.', + shortdesc='Move a user to another group.', completion=self.completion_groupmove) self.register_command('groupremove', self.command_groupremove, usage='<jid> <group>', desc='Remove the given JID from the given group.', - shortdesc='Remove an user from a group.', + shortdesc='Remove a user from a group.', completion=self.completion_groupremove) self.register_command('remove', self.command_remove, usage='[jid]', @@ -111,7 +111,7 @@ class RosterInfoTab(Tab): 'will unsubscribe you from its presence, cancel ' 'its subscription to yours, and remove the item ' 'from your roster.', - shortdesc='Remove an user from your roster.', + shortdesc='Remove a user from your roster.', completion=self.completion_remove) self.register_command('export', self.command_export, usage='[/path/to/file]', @@ -664,15 +664,25 @@ class RosterInfoTab(Tab): self.core.xmpp.update_roster(jid, name=name, groups=groups, subscription=subscription, callback=callback) - @command_args_parser.quoted(2) + @command_args_parser.quoted(1, 1) def command_groupadd(self, args): """ Add the specified JID to the specified group """ if args is None: return self.core.command.help('groupadd') - jid = safeJID(args[0]).bare - group = args[1] + if len(args) == 1: + group = args[0] + item = self.roster_win.selected_row + if isinstance(item, Contact): + jid = item.bare_jid + elif isinstance(item, Resource): + jid = item.jid + else: + return self.core.command.help('groupadd') + else: + jid = safeJID(args[0]).bare + group = args[1] contact = roster[jid] if contact is None: |