Пример #1
0
 def _execute_api(self, func_name, schema_keys=None, q_params=None, **kwargs):
     schema_keys = schema_keys or []
     q_params = q_params or {}
     params = self._params_pre_processing(schema_keys, kwargs)
     self._url.add_dirs(func_name, *params.values())
     response = requests.get(self._url.get_absolute_url(), params=q_params)
     self._url.refresh_dirs()
     if response.status_code != 200:
         raise ZaifApiError('return status code is {}'.format(response.status_code))
     return json.loads(response.text)
Пример #2
0
    def _execute_api(self, func_name, schema_keys=None, params=None):
        schema_keys = schema_keys or []
        params = params or {}

        params = self._params_pre_processing(schema_keys, params, func_name)
        header = self._get_header(params)
        url = self._url.get_absolute_url()

        res = get_response(url, params, header)
        if res['success'] == 0:
            if res['error'].startswith('nonce'):
                raise ZaifApiNonceError(res['error'])
            raise ZaifApiError(res['error'])
        return res['return']
Пример #3
0
    async def _execute_api(self, func_name, schema_keys=None, params=None):
        schema_keys = schema_keys or []
        params = params or {}

        _params = self._params_pre_processing(schema_keys, params, func_name)
        header = self._get_header(_params)
        url = self._url.get_absolute_url()
        async with aiohttp.ClientSession(loop=self.loop) as session:
            res = await self._http_post(session,
                                        url,
                                        data=params,
                                        headers=header)

        if res['success'] == 0:
            if res['error'].startswith('nonce'):
                raise ZaifApiNonceError(res['error'])
            raise ZaifApiError(res['error'])
        return res['return']
Пример #4
0
 def _execute_api(self,
                  func_name,
                  schema_keys=None,
                  q_params=None,
                  **kwargs):
     schema_keys = schema_keys or []
     q_params = q_params or {}
     params = self._params_pre_processing(schema_keys, kwargs)
     if params.get("page", None):
         self._url.add_dirs(func_name, params.get("group_id"),
                            params.get("currency_pair"), params.get("page"))
     else:
         self._url.add_dirs(func_name, params.get("group_id"),
                            params.get("currency_pair"))
     response = requests.get(self._url.get_absolute_url(), params=q_params)
     self._url.refresh_dirs()
     if response.status_code != 200:
         raise ZaifApiError("return status code is {}".format(
             response.status_code))
     return json.loads(response.text)