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

61 lines
1.7 KiB
Python

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)