Returns: DICT of meta data found on TMDB Returns None when not found or error requesting page ''' url = "%s/%s?language=%s&api_key=%s&%s" % (self.url_prefix, method, self.lang, self.api_key, values) addon.log('Requesting TMDB : %s' % url, 0) try: meta = simplejson.loads(net.http_GET(url,{"Accept":"application/json"}).content) except Exception, e: addon.log("Error connecting to TMDB: %s " % e, 4) return None if meta == 'Nothing found.': return None else: addon.log('TMDB Meta: %s' % meta, 0) return meta def _convert_date(self, string, in_format, out_format): ''' Helper method to convert a string date to a given format ''' strptime = lambda date_string, format: datetime(*(time.strptime(date_string, format)[0:6])) try: a = strptime(string, in_format).strftime(out_format) except Exception, e: addon.log('************* Error Date conversion failed: %s' % e, 4) return None return a def _upd_key(self, meta, key):
def json_rpc(): """ Process JSON-RPC requests @return: """ addon.log('***** JSON request *****') addon.log(request.body.read()) data = request.json reply = {'jsonrpc': '2.0', 'id': data.get('id', '1')} try: reply['result'] = getattr(methods, data['method'])(torrent_client, data.get('params')) except Exception, ex: addon.log(format_exc(), xbmc.LOGERROR) reply['error'] = '{0}: {1}'.format(str(ex.__class__)[7:-2], format_exc()) addon.log('***** JSON response *****') addon.log(str(reply)) return reply @route('/torrents-json') def get_torrents(): """ Get the list of available torrents with their params wrapped in JSON @return: """ response.content_type = 'application/json' reply = dumps(torrent_client.get_all_torrents_info()) # if DEBUG: # addon.log(reply)
import sys import time import threading import datetime import platform import cPickle as pickle from math import ceil from requests import get import xbmc from addon import Addon from utilities import get_duration addon = Addon() addon.log('Platform: "{0}"; machine: "{1}"; processor: "{2}"; system: "{3}"'.format( sys.platform, platform.machine(), platform.processor(), platform.system()), xbmc.LOGNOTICE) # This is for potential statistic and debugging purposes try: import libtorrent # Try to import global module except ImportError: sys.path.append(os.path.join(addon.path, 'site-packages')) from python_libtorrent import get_libtorrent libtorrent = get_libtorrent() addon.log('libtorrent version: {0}'.format(libtorrent.version)) class TorrenterError(Exception): """Custom exception"""
Returns: DICT of meta data found on TMDB Returns None when not found or error requesting page """ url = "%s/%s?language=%s&api_key=%s&%s" % (self.url_prefix, method, self.lang, self.api_key, values) addon.log("Requesting TMDB : %s" % url, 0) try: meta = simplejson.loads(net.http_GET(url, {"Accept": "application/json"}).content) except Exception, e: addon.log("Error connecting to TMDB: %s " % e, 4) return None if meta == "Nothing found.": return None else: addon.log("TMDB Meta: %s" % meta, 0) return meta def _convert_date(self, string, in_format, out_format): """ Helper method to convert a string date to a given format """ strptime = lambda date_string, format: datetime(*(time.strptime(date_string, format)[0:6])) try: a = strptime(string, in_format).strftime(out_format) except Exception, e: addon.log("************* Error Date conversion failed: %s" % e, 4) return None return a def _upd_key(self, meta, key): """ Helper method to check if a key exists and if it has valid data, returns True if key needs to be udpated with valid data """ if meta.has_key(key) == False: