Sun, 09 Nov 2014 19:17:45 +0200
- reworked repocheck timeout
from modulecore import command_error import hgapi import urllib import urllib2 import json ModuleData = { 'commands': [ { 'name': 'idgames', 'description': 'Searches doomworld.com/idgames for wads', 'args': '<wad...>', 'level': 'normal', }, ] } g_idgamesSearchURL = 'http://www.doomworld.com/idgames/api/api.php?action=search&query=%s&type=title&sort=date&out=json' def cmd_idgames (bot, args, replyto, **rest): try: url = g_idgamesSearchURL % urllib.quote (args['wad']) response = urllib2.urlopen (url).read() data = json.loads (response) if 'content' in data and 'file' in data['content']: if type (data['content']['file']) is list: files = data['content']['file'] else: files = [data['content']['file']] i = 0 for filedata in files: if i >= 5: break bot.privmsg (replyto, '- %s: \'%s\' by \'%s\', rating: %s: %s' % \ (filedata['filename'], filedata['title'], filedata['author'], filedata['rating'], filedata['url'])) i += 1 #done bot.privmsg (replyto, "(%d / %d results posted)" % (i, len(files))) elif 'warning' in data and 'message' in data['warning']: command_error (data['warning']['message']) elif 'error' in data and 'message' in data['error']: command_error (data['error']['message']) else: command_error ("Incomplete JSON response from doomworld.com/idgames") except Exception as e: command_error ('search failed: %s' % str (e)) #tried #enddef