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)