prozorro_sale.tools.api_requests module

exception prozorro_sale.tools.api_requests.DefaultResponse(resp)[source]

Bases: BaseException

Wrapper for Response

__default_response__ = True
__init__(resp)[source]
class prozorro_sale.tools.api_requests.Requests(*args, **kwargs)[source]

Bases: object

Thin wrapper for aiohttp.ClientSession with Requests simplicity.

async __aenter__()[source]

Method to get aiohttp.ClientSession.

async __aexit__(exc_type, exc_val, exc_tb)[source]

Method to close aiohttp.ClientSession.

__getattr__(attr)[source]
__init__(*args, **kwargs)[source]
static _check_code(status_code, codes)[source]

Validate response status_code. If not valid returns True.

Returns

if response status code is not valid returns True

Return type

bool

_check_resp_status(status_code, error_codes, default_resp)[source]

Check response status code. May raise exception with default message or sent error_message.

Parameters
  • status_code (int) – current response status code

  • error_codes (dict) – data if error response

  • default_resp (dict) – default data if error response

Raises
  • DefaultResponse

  • CustomError

_session()[source]

Initialize session config for aiohttp.ClientSession instance.

async close()[source]

Close aiohttp.ClientSession.

Returns

None

async close_app(*args, **kwargs)[source]

Close aiohttp.ClientSession.

Returns

None

property closed

Check if aiohttp.ClientSession is closed.

Returns

bool

property connector_closed

Check if aiohttp.ClientSession connector is closed

Returns

bool

async init()[source]

Initialize aiohttp.ClientSession.

Returns

None

async init_app(app: Union[aiohttp.web_app.Application, ApplicationWorker])[source]

Initialize application api_request method. :param app: aiohttp.web.Application instance. :type app: object

property session

An instance of aiohttp.ClientSession.

prozorro_sale.tools.api_requests.async_api_request = <prozorro_sale.tools.api_requests.Requests object>

singleton instance for Requests Wrapper

Type

Requests

prozorro_sale.tools.api_requests.setup_async_api_requests(app: Union[aiohttp.web_app.Application, ApplicationWorker]) None[source]

Append Requests wrapper to app.

Parameters

app (object) – aiohttp.web.Application instance.