From d2ab09fdd763a6161664c05c19c1648968ef2e56 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Mon, 4 Aug 2014 20:30:13 +0100 Subject: [PATCH] Fix some minor issues. --- .gitignore | 3 +++ kosbot.py | 28 +++++++++++++++++++--------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 51cbe85..c7e3a68 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,6 @@ coverage.xml # Sphinx documentation docs/_build/ +# IDEA +.idea + diff --git a/kosbot.py b/kosbot.py index 49f53ee..075b9d9 100644 --- a/kosbot.py +++ b/kosbot.py @@ -1,7 +1,11 @@ import os +import logging import sleekxmpp import requests -from urlparse import urljoin +try: + from urlparse import urljoin +except ImportError: + from urllib.parse import urljoin class KOSCheckBot(sleekxmpp.ClientXMPP): @@ -27,13 +31,17 @@ class KOSCheckBot(sleekxmpp.ClientXMPP): args = msg['body'].split(' ')[1:] if cmd == 'kos': - return self.cmd_kos(msg, cmd, args) + result = self.cmd_kos(msg, cmd, args) + + msg.reply(result).send() - def cmd_kos(self, msg, cmd, args) + def cmd_kos(self, msg, cmd, args): arg = ' '.join(args) - resp = requests.get(urljoin(KOS_API_URL, params={ + resp = requests.get(self.KOS_API_URL, params={ 'c': 'json', - 'q': arg + 'q': arg, + 'type': 'unit', + 'details': None }) if resp.status_code != requests.codes.ok: return "Something went wrong (Error %s)" % resp.status_code @@ -47,8 +55,8 @@ class KOSCheckBot(sleekxmpp.ClientXMPP): return "KOS returned no results (Not on KOS)" results = [] - for result in data['results'] - text = '%s (%s) - %s'.format( + for result in data['results']: + text = '{} ({}) - {}'.format( result['label'], result['type'], 'KOS' if result['kos'] else 'Not KOS' @@ -58,10 +66,12 @@ class KOSCheckBot(sleekxmpp.ClientXMPP): if __name__ == '__main__': + logging.basicConfig(level=logging.DEBUG) + jid = os.environ.get('KOSBOT_JID') password = os.environ.get('KOSBOT_PASSWORD') nickname = os.environ.get('KOSBOT_NICKNAME', 'KOSBot') - rooms = os.environ.get('KOSBOT_CHANNELS') + rooms = os.environ.get('KOSBOT_ROOMS') rooms = [x.strip() for x in rooms.split(',')] @@ -69,6 +79,6 @@ if __name__ == '__main__': bot.register_plugin('xep_0030') # Service Discovery bot.register_plugin('xep_0045') # Multi-User Chat bot.register_plugin('xep_0199') # XMPP Ping - + if bot.connect(): bot.process(block=True)