Mercurial > xib
diff commands.py @ 143:61d7cae1d15d
added 3 commands: connections, irc-connections and xmpp-connections
Signed-off-by: Charly COSTE <changaco@changaco.net>
author | Charly COSTE <changaco@changaco.net> |
---|---|
date | Sun, 17 Jan 2010 12:31:59 +0100 |
parents | 8c6184411ec7 |
children | 0a8f96a1d200 |
line wrap: on
line diff
--- a/commands.py +++ b/commands.py @@ -25,7 +25,7 @@ del muc from bridge import Bridge -commands = ['xmpp-participants', 'irc-participants', 'bridges'] +commands = ['xmpp-participants', 'irc-participants', 'xmpp-connections', 'irc-connections', 'connections', 'bridges'] admin_commands = ['add-bridge', 'add-xmpp-admin', 'change-bridge-mode', 'halt', 'remove-bridge', 'restart-bot', 'restart-bridge', 'stop-bridge'] def execute(bot, command_line, bot_admin, bridge): @@ -147,11 +147,38 @@ def change_bridge_mode(bot, command, arg return 'Mode changed.' +def connections(bot, command, args_array, bot_admin, bridge): + parser = ArgumentParser(prog=command) + parser.add_argument('--verbose', '-v', default=False, action='store_true') + try: + args = parser.parse_args(args_array) + except ArgumentParser.ParseException as e: + return '\n'+e.args[1] + return irc_connections(bot, 'irc-connections', args_array, bot_admin, bridge)+'\n'+xmpp_connections(bot, 'xmpp-connections', args_array, bot_admin, bridge) + + def halt(bot, command, args_array, bot_admin, bridge): bot.stop() return +def irc_connections(bot, command, args_array, bot_admin, bridge): + parser = ArgumentParser(prog=command) + parser.add_argument('--verbose', '-v', default=False, action='store_true') + try: + args = parser.parse_args(args_array) + except ArgumentParser.ParseException as e: + return '\n'+e.args[1] + n = len(bot.irc.connections) + if args.verbose: + ret = 'List of IRC connections ('+str(n)+'):' + for c in bot.irc.connections: + ret += '\n\t'+str(c) + else: + ret = 'Number of IRC connections: '+str(n) + return ret + + def irc_participants(bot, command, args_array, bot_admin, bridge): ret = '' if not bridge: @@ -183,6 +210,23 @@ def stop_bridge(bot, command, args_array return 'Bridge stopped.' +def xmpp_connections(bot, command, args_array, bot_admin, bridge): + parser = ArgumentParser(prog=command) + parser.add_argument('--verbose', '-v', default=False, action='store_true') + try: + args = parser.parse_args(args_array) + except ArgumentParser.ParseException as e: + return '\n'+e.args[1] + n = len(bot.xmpp_connections) + if args.verbose: + ret = 'List of XMPP connections ('+str(n)+'):' + for nickname in bot.xmpp_connections.iterkeys(): + ret += '\n\t'+nickname + else: + ret = 'Number of XMPP connections: '+str(n) + return ret + + def xmpp_participants(bot, command, args_array, bot_admin, bridge): ret = '' if not bridge: