summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2016-08-25 20:22:01 +0200
committermathieui <mathieui@mathieui.net>2016-08-25 20:22:01 +0200
commitb7c23313b693a843abad166805ffdc614284af5e (patch)
tree5955db606caf81d1eea5fe7276246326553f5375
parente8aa89687f1833e37a30683f82d7cafe907dfe03 (diff)
downloadpoezio-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.py34
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: