def request(self, method, url, params=None, headers=None): params = params or self._params requestor = RequestHandler( token=self.api_token, api_base=self.api_base or constants.API_BASE, ) response = requestor.request(method, url, params, headers) return create_object(response, self.api_token, _type=self.class_name)
def _update(self, params=None): if self.next_page > 1: params = {'page': self.next_page} requestor = RequestHandler(token=self.api_token) response = requestor.request('get', self.initial_url, params) self.current_index = 0 self.length = response['count'] self.current_list = response['results'] if response['next']: self.next_page += 1 else: self.next_page = None
def login(user, password, api_base=None): data = { 'email': user, 'password': password, } requestor = RequestHandler() try: response = requestor.request( url='/{}/rest-auth/login/'.format(constants.API_VERSION), method='post', params=data, ) except APIError as error: if hasattr(error, 'request') and error.request.status_code == 400: raise AuthenticationError(error.request) from None else: raise if constants.DEBUG: print('Received authentication token {}.'.format(response['key'])) constants.API_TOKEN = response['key']