diff options
Diffstat (limited to 'wee_slack.py')
-rw-r--r-- | wee_slack.py | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/wee_slack.py b/wee_slack.py index ffa350e..2ca19af 100644 --- a/wee_slack.py +++ b/wee_slack.py @@ -1061,7 +1061,7 @@ def usergroups_completion_cb(data, completion_item, current_buffer, completion): return w.WEECHAT_RC_OK for subteam in current_channel.team.subteams.values(): - w.hook_completion_list_add(completion, "@" + subteam.handle, 1, w.WEECHAT_LIST_POS_SORT) + w.hook_completion_list_add(completion, subteam.handle, 1, w.WEECHAT_LIST_POS_SORT) return w.WEECHAT_RC_OK @@ -1175,7 +1175,7 @@ class SlackSubteam(object): """ def __init__(self, originating_team_id, **kwargs): - self.handle = kwargs['handle'] + self.handle = '@{}'.format(kwargs['handle']) self.identifier = kwargs['id'] self.name = kwargs['name'] self.description = kwargs.get('description') @@ -2770,7 +2770,7 @@ def handle_usersinfo(user_json, eventrouter, **kwargs): def handle_usergroupsuserslist(users_json, eventrouter, **kwargs): request_metadata = users_json['wee_slack_request_metadata'] team = eventrouter.teams[request_metadata.team_hash] - header = 'Users in @{}'.format(request_metadata.usergroup_handle) + header = 'Users in {}'.format(request_metadata.usergroup_handle) users = [team.users[key] for key in users_json['users']] return print_team_items_info(team, header, users, lambda user: user.presence) @@ -3155,7 +3155,7 @@ def process_subteam_updated(subteam_json, eventrouter, **kwargs): team.subteams[subteam_json['subteam']['id']] = new_subteam_info if config.notify_usergroup_handle_updated and current_subteam_info.handle != new_subteam_info.handle: - message = 'User group @{old_handle} has updated its handle to @{new_handle} in team {team}.'.format( + message = 'User group {old_handle} has updated its handle to {new_handle} in team {team}.'.format( name=current_subteam_info.handle, handle=new_subteam_info.handle, team=team.preferred_name) team.buffer_prnt(message, message=True) @@ -3204,8 +3204,8 @@ def linkify_text(message, team): named = targets.groups() if named[1] in ["group", "channel", "here"]: message[item[0]] = "<!{}>{}".format(named[1], named[2]) - elif named[1] in usergroups.keys(): - message[item[0]] = "<!subteam^{}|@{}>{}".format(usergroups[named[1]], named[1], named[2]) + elif named[0] + named[1] in usergroups.keys(): + message[item[0]] = "<!subteam^{}|@{}>{}".format(usergroups[named[0] + named[1]], named[1], named[2]) else: try: if usernames[named[1]]: @@ -3376,7 +3376,7 @@ def resolve_ref(ref): _, subteam_id = ref.split('^') subteam = team.subteams.get(subteam_id) if subteam: - return '@{}'.format(subteam.handle) + return subteam.handle # Something else, just return as-is return ref @@ -3773,19 +3773,17 @@ def command_usergroups(data, current_buffer, args): """ team = EVENTROUTER.weechat_controller.buffers[current_buffer].team usergroups = team.generate_usergroup_map() - handle = args[1:] if args and args.startswith("@") else args + usergroup_key = usergroups.get(args) - if handle and handle in usergroups.keys(): - subteam = team.subteams[usergroups[handle]] - s = SlackRequest(team.token, "usergroups.users.list", { "usergroup": subteam.identifier }, team_hash=team.team_hash, usergroup_handle=handle) + if usergroup_key: + s = SlackRequest(team.token, "usergroups.users.list", + {"usergroup": usergroup_key}, team_hash=team.team_hash, usergroup_handle=args) EVENTROUTER.receive(s) - elif not handle: - extra_info_function = lambda usergroup: '@{}'.format(usergroup.handle) - return print_team_items_info(team, "Usergroups", team.subteams.values(), extra_info_function) - else: - w.prnt('', 'ERROR: Unknown usergroup handle: {}'.format(handle)) + elif args: + w.prnt('', 'ERROR: Unknown usergroup handle: {}'.format(args)) return w.WEECHAT_RC_ERROR - + else: + return print_team_items_info(team, "Usergroups", team.subteams.values(), lambda subteam: subteam.handle) return w.WEECHAT_RC_OK_EAT command_usergroups.completion = '%(usergroups)' |