示例#1
0
文件: TMDB.py 项目: Inter95/tutvguia
        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):
示例#2
0
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)
示例#3
0
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"""
示例#4
0
文件: TMDB.py 项目: Inter95/tutvguia
        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: