Added docs generator, splitted methods
This commit is contained in:
35
kontur_focus/req.py
Normal file
35
kontur_focus/req.py
Normal file
@@ -0,0 +1,35 @@
|
||||
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
|
||||
content_type = None
|
||||
inn = None
|
||||
ogrn = None
|
||||
|
||||
def __init__(self, base_url: str, access_key: str, inn: str = None, ogrn: str = None):
|
||||
self.base_url = base_url
|
||||
self._access_key = access_key
|
||||
self.inn = inn
|
||||
self.ogrn = ogrn
|
||||
|
||||
def get(self, path: str):
|
||||
full_url = f'{self.base_url}{path}'
|
||||
payload = {'key': self._access_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}'
|
||||
Reference in New Issue
Block a user