示例#1
0
    def request(cls, action, values=None, param='', retry=True, max_retries=3, timeout=None):
        if param != "":
            param = "/" + param
        data_url = TRAKT_URL % (action, param)

        if values is None:
            values = {}

        values['username'] = Prefs['username']
        values['password'] = Hash.SHA1(Prefs['password'])
        values['plugin_version'] = PLUGIN_VERSION
        values['media_center_version'] = Dict['server_version']

        try:
            response = request(
                data_url,
                'json',

                data=values,
                data_type='json',

                retry=retry,
                max_retries=max_retries,
                timeout=timeout,

                raise_exceptions=True
            )
        except RequestError, e:
            Log.Warn('[trakt] Request error: (%s) %s' % (e, e.message))
            return {'success': False, 'exception': e, 'message': e.message}
示例#2
0
    def request(cls,
                action,
                values=None,
                params=None,
                authenticate=False,
                retry=True,
                max_retries=3,
                cache_id=None,
                timeout=None):
        if params is None:
            params = []
        elif isinstance(params, basestring):
            params = [params]

        params = [x for x in params if x]

        data_url = TRAKT_URL % (action,
                                ('/' + '/'.join(params)) if params else '')

        if values is None:
            values = {}

        if authenticate:
            if not Prefs['username'] or not Prefs['password']:
                return {
                    'success': False,
                    'message': 'Missing username or password'
                }

            values['username'] = Prefs['username']
            values['password'] = Hash.SHA1(Prefs['password'])

        values['plugin_version'] = PLUGIN_VERSION
        values['media_center_version'] = Dict['server_version']

        try:
            kwargs = {
                'retry': retry,
                'max_retries': max_retries,
                'cache_id': cache_id,
                'timeout': timeout,
                'raise_exceptions': True
            }

            if values is not None:
                kwargs['data'] = values
                kwargs['data_type'] = 'json'

            response = request(data_url, 'json', **kwargs)
        except NetworkError, e:
            log.warn('Network error: (%s) message: %s data: %s' %
                     (e, repr(e.message), repr(e.data)))
            return cls.parse_response(e)
    def request(cls, path='/', response_type='xml', raise_exceptions=False, retry=True, timeout=3, **kwargs):
        if not path.startswith('/'):
            path = '/' + path

        response = request(
            cls.base_url + path,
            response_type,

            raise_exceptions=raise_exceptions,

            retry=retry,
            timeout=timeout,

            **kwargs
        )

        return response.data if response else None
示例#4
0
    def request(cls,
                path='/',
                response_type='xml',
                raise_exceptions=False,
                retry=True,
                timeout=3,
                **kwargs):
        if not path.startswith('/'):
            path = '/' + path

        response = request(cls.base_url + path,
                           response_type,
                           raise_exceptions=raise_exceptions,
                           retry=retry,
                           timeout=timeout,
                           **kwargs)

        return response.data if response else None
示例#5
0
    def request(cls, action, values=None, params=None, authenticate=False, retry=True, max_retries=3, cache_id=None, timeout=None):
        if params is None:
            params = []
        elif isinstance(params, basestring):
            params = [params]

        params = [x for x in params if x]

        data_url = TRAKT_URL % (
            action,
            ('/' + '/'.join(params)) if params else ''
        )

        if values is None:
            values = {}

        if authenticate:
            if not Prefs['username'] or not Prefs['password']:
                return {'success': False, 'message': 'Missing username or password'}

            values['username'] = Prefs['username']
            values['password'] = Hash.SHA1(Prefs['password'])

        values['plugin_version'] = PLUGIN_VERSION
        values['media_center_version'] = Dict['server_version']

        try:
            kwargs = {
                'retry': retry,
                'max_retries': max_retries,
                'cache_id': cache_id,
                'timeout': timeout,

                'raise_exceptions': True
            }

            if values is not None:
                kwargs['data'] = values
                kwargs['data_type'] = 'json'

            response = request(data_url, 'json', **kwargs)
        except NetworkError, e:
            log.warn('Network error: (%s) message: %s data: %s' % (e, repr(e.message), repr(e.data)))
            return cls.parse_response(e)