First commit. Added part of legal entities methods.
This commit is contained in:
60
kontur_focus/focus.py
Normal file
60
kontur_focus/focus.py
Normal file
@@ -0,0 +1,60 @@
|
||||
import requests
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
from kontur_focus.government_lists import gl
|
||||
|
||||
|
||||
class Focus:
|
||||
_base_url = None
|
||||
_access_key = None
|
||||
_inn = None
|
||||
_orgn = None
|
||||
|
||||
def __init__(self, inn: str, ogrn: str = None):
|
||||
load_dotenv()
|
||||
self._base_url = os.environ.get('BASE_URL')
|
||||
self._access_key = os.environ.get('ACCESS_KEY')
|
||||
self._inn = inn
|
||||
self._orgn = ogrn
|
||||
|
||||
def _r_get(self, path: str):
|
||||
full_url = f'{self._base_url}{path}'
|
||||
payload = {'key': self._access_key, 'inn': self._inn, 'ogrn': self._orgn}
|
||||
|
||||
return requests.get(url=full_url, params=payload).json()
|
||||
|
||||
def base_info(self):
|
||||
return self._r_get('/req')
|
||||
|
||||
def advanced_info(self):
|
||||
return self._r_get('/egrDetails')
|
||||
|
||||
def founders_history(self):
|
||||
return self._r_get('/foundersHistory')
|
||||
|
||||
def foreign_representatives(self):
|
||||
return self._r_get('/foreignRepresentatives')
|
||||
|
||||
def full_analytics(self):
|
||||
return self._r_get('/analytics')
|
||||
|
||||
@staticmethod
|
||||
def government_lists():
|
||||
formatted_list = [(elem.get('name'), elem.get('description')) for elem in gl]
|
||||
|
||||
return formatted_list
|
||||
|
||||
def check_if_in_lists(self, list_name: str = None):
|
||||
"""
|
||||
Check if organization is consist in Government lists
|
||||
|
||||
:param list_name: str List name
|
||||
:return: json
|
||||
"""
|
||||
if not list_name:
|
||||
return self._r_get('/analyticLists')
|
||||
else:
|
||||
data = self._r_get('/analyticLists')[0]['listsEntries']
|
||||
list_id = next(item['uid'] for item in gl if item['name'] == list_name)
|
||||
|
||||
return next(lst['isInList'] for lst in data if lst['id'] == list_id)
|
||||
Reference in New Issue
Block a user