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}
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
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
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)