Files
kontur-focus-lib/kontur_focus/req.py

42 lines
1.2 KiB
Python

import requests
from requests.exceptions import RequestException
class Request:
"""Base request class, which uses 'requests' library
:return: Request result
:rtype: JSON or PDF file
"""
base_url = None
_access_key = None
_api_key = None
content_type = None
inn = None
ogrn = None
def __init__(self, base_url: str, access_key: str = None, api_key: str = None, inn: str = None, ogrn: str = None):
self.base_url = base_url
self._access_key = access_key
self._api_key = api_key
self.inn = inn
self.ogrn = ogrn
def get(self, path: str):
full_url = f'{self.base_url}{path}'
if self._access_key:
payload = {'key': self._access_key, 'inn': self.inn, 'ogrn': self.ogrn}
elif self._api_key:
payload = {'api-key': self._api_key, 'inn': self.inn, 'ogrn': self.ogrn}
try:
response = requests.get(url=full_url, params=payload)
if response.headers['Content-Type'] == 'application/pdf':
return response
else:
return response.json()
except RequestException as e:
return f'Error: {e}'