Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8a093175c4 | |||
| b50471276f | |||
| 1d55e08c15 | |||
| 71596d9cec | |||
| 71cd6ddfcd |
@@ -36,6 +36,8 @@
|
||||
|
||||
.. autofunction:: kontur_focus.FocusCompliance.search_global_company_profiles_id()
|
||||
|
||||
.. autofunction:: kontur_focus.FocusCompliance.full_legal_entity_sanctions_profile(profile_id_list)
|
||||
|
||||
.. autofunction:: kontur_focus.FocusCompliance.legal_entity_profile_report(profile_id_list, path)
|
||||
|
||||
.. autofunction:: kontur_focus.FocusCompliance.full_company_report(model, path)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -182,6 +182,27 @@
|
||||
<span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s1">'result'</span><span class="p">:</span> <span class="s1">'Key Error'</span><span class="p">}</span>
|
||||
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">full_legal_entity_sanctions_profile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">profile_id_list</span><span class="p">:</span> <span class="nb">list</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""Просмотр полной информации определенного санкционного профиля ЮЛ</span>
|
||||
|
||||
<span class="sd"> :param profile_id_list: Идентификатор санкционного профиля ЮЛ. Идентификатор возвращается в методе </span>
|
||||
<span class="sd"> «Поиск сводной информации по санкционным профилям ЮЛ» - </span>
|
||||
<span class="sd"> GET /banks/{bankId}/companies/profiles/search</span>
|
||||
<span class="sd"> :type profile_id_list: list</span>
|
||||
<span class="sd"> :return: Полная информация по профилю ЮЛ</span>
|
||||
<span class="sd"> :rtype: dict</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">profile_id_list</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s1">'message'</span><span class="p">:</span> <span class="s1">'Не указан список ID профилей'</span><span class="p">}</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">profile</span> <span class="o">=</span> <span class="n">profile_id_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_focus_base_url</span><span class="si">}</span><span class="s1">/companies/profiles/</span><span class="si">{</span><span class="n">profile</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
|
||||
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">'result'</span><span class="p">:</span> <span class="n">response</span><span class="p">}</span>
|
||||
<span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s1">'result'</span><span class="p">:</span> <span class="s1">'Ошибка в ID профиля.'</span><span class="p">}</span>
|
||||
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">legal_entity_profile_report</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">profile_id_list</span><span class="p">:</span> <span class="nb">list</span><span class="p">,</span> <span class="n">path</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="sd">"""Получение печатного отчета по профилю ЮЛ</span>
|
||||
|
||||
@@ -286,19 +307,25 @@
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">inn</span><span class="p">:</span>
|
||||
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_focus_base_url</span><span class="si">}</span><span class="s1">/formFullIndividualReport'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">inn</span> <span class="ow">and</span> <span class="n">passport</span> <span class="ow">and</span> <span class="n">fio</span><span class="p">:</span>
|
||||
<span class="k">elif</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">inn</span> <span class="ow">and</span> <span class="n">passport</span> <span class="ow">and</span> <span class="n">fio</span><span class="p">:</span>
|
||||
<span class="n">response</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">_focus_base_url</span><span class="si">}</span><span class="s1">/formFullIndividualReport'</span><span class="p">,</span> <span class="n">passportNumber</span><span class="o">=</span><span class="n">passport</span><span class="p">,</span> <span class="n">fio</span><span class="o">=</span><span class="n">fio</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">'result'</span><span class="p">:</span> <span class="s1">'Необходимо указать: либо ИНН, либо ФИО (хотя бы фамилию и имя) и паспорт'</span><span class="p">}</span>
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s1">'result'</span><span class="p">:</span> <span class="s1">'Необходимо указать: либо ИНН, либо ФИО (хотя бы фамилию и имя) и паспорт'</span><span class="p">}</span>
|
||||
|
||||
<span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_save_file</span><span class="p">(</span>
|
||||
<span class="n">filename</span><span class="o">=</span><span class="s1">'Полный_отчет'</span><span class="p">,</span>
|
||||
<span class="n">content</span><span class="o">=</span><span class="n">response</span><span class="o">.</span><span class="n">content</span><span class="p">,</span>
|
||||
<span class="n">file_type</span><span class="o">=</span><span class="s1">'docx'</span><span class="p">,</span>
|
||||
<span class="n">path</span><span class="o">=</span><span class="n">path</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">'file'</span><span class="p">:</span> <span class="n">result</span><span class="p">}</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">==</span> <span class="mi">200</span><span class="p">:</span>
|
||||
<span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_save_file</span><span class="p">(</span>
|
||||
<span class="n">filename</span><span class="o">=</span><span class="s1">'Полный_отчет'</span><span class="p">,</span>
|
||||
<span class="n">content</span><span class="o">=</span><span class="n">response</span><span class="o">.</span><span class="n">content</span><span class="p">,</span>
|
||||
<span class="n">file_type</span><span class="o">=</span><span class="s1">'docx'</span><span class="p">,</span>
|
||||
<span class="n">path</span><span class="o">=</span><span class="n">path</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span class="s1">'file'</span><span class="p">:</span> <span class="n">result</span><span class="p">}</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s1">'result'</span><span class="p">:</span> <span class="s1">'Ошибка получения отчета. Проверьте корректность ИНН, ФИО или паспортных данных.'</span><span class="p">}</span>
|
||||
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="p">{</span><span class="s1">'success'</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s1">'result'</span><span class="p">:</span> <span class="s1">'Ошибка получения отчета. Проверьте корректность ИНН, ФИО или паспортных данных.'</span><span class="p">}</span>
|
||||
|
||||
<span class="c1"># Иноагенты</span>
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">get_foreign_agents_list</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">fa_type</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span> <span class="c1"># Не работает, если нет подключенной лицензии</span>
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
|
||||
.. autofunction:: kontur_focus.FocusCompliance.search_global_company_profiles_id()
|
||||
|
||||
.. autofunction:: kontur_focus.FocusCompliance.full_legal_entity_sanctions_profile(profile_id_list)
|
||||
|
||||
.. autofunction:: kontur_focus.FocusCompliance.legal_entity_profile_report(profile_id_list, path)
|
||||
|
||||
.. autofunction:: kontur_focus.FocusCompliance.full_company_report(model, path)
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="#id5">Юридические лица</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#kontur_focus.FocusCompliance.company_is_foreign_agent"><code class="docutils literal notranslate"><span class="pre">company_is_foreign_agent()</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#kontur_focus.FocusCompliance.search_global_company_profiles_id"><code class="docutils literal notranslate"><span class="pre">search_global_company_profiles_id()</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#kontur_focus.FocusCompliance.full_legal_entity_sanctions_profile"><code class="docutils literal notranslate"><span class="pre">full_legal_entity_sanctions_profile()</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#kontur_focus.FocusCompliance.legal_entity_profile_report"><code class="docutils literal notranslate"><span class="pre">legal_entity_profile_report()</span></code></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#kontur_focus.FocusCompliance.full_company_report"><code class="docutils literal notranslate"><span class="pre">full_company_report()</span></code></a></li>
|
||||
</ul>
|
||||
@@ -149,6 +150,25 @@
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="kontur_focus.FocusCompliance.full_legal_entity_sanctions_profile">
|
||||
<span class="sig-name descname"><span class="pre">full_legal_entity_sanctions_profile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">profile_id_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#kontur_focus.FocusCompliance.full_legal_entity_sanctions_profile" title="Ссылка на это определение"></a></dt>
|
||||
<dd><p>Просмотр полной информации определенного санкционного профиля ЮЛ</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Параметры<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><strong>profile_id_list</strong> (<em>list</em>) – Идентификатор санкционного профиля ЮЛ. Идентификатор возвращается в методе
|
||||
«Поиск сводной информации по санкционным профилям ЮЛ» -
|
||||
GET /banks/{bankId}/companies/profiles/search</p>
|
||||
</dd>
|
||||
<dt class="field-even">Результат<span class="colon">:</span></dt>
|
||||
<dd class="field-even"><p>Полная информация по профилю ЮЛ</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Тип результата<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p>dict</p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="kontur_focus.FocusCompliance.legal_entity_profile_report">
|
||||
<span class="sig-name descname"><span class="pre">legal_entity_profile_report</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">profile_id_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">path</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#kontur_focus.FocusCompliance.legal_entity_profile_report" title="Ссылка на это определение"></a></dt>
|
||||
|
||||
@@ -133,6 +133,8 @@
|
||||
<li><a href="focus-compliance.html#kontur_focus.FocusCompliance.full_company_report">full_company_report() (в модуле kontur_focus.FocusCompliance)</a>
|
||||
</li>
|
||||
<li><a href="focus-compliance.html#kontur_focus.FocusCompliance.full_individual_report">full_individual_report() (в модуле kontur_focus.FocusCompliance)</a>
|
||||
</li>
|
||||
<li><a href="focus-compliance.html#kontur_focus.FocusCompliance.full_legal_entity_sanctions_profile">full_legal_entity_sanctions_profile() (в модуле kontur_focus.FocusCompliance)</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
|
||||
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -107,6 +107,27 @@ class FocusCompliance(Request):
|
||||
except KeyError:
|
||||
return {'success': False, 'result': 'Key Error'}
|
||||
|
||||
def full_legal_entity_sanctions_profile(self, profile_id_list: list) -> dict:
|
||||
"""Просмотр полной информации определенного санкционного профиля ЮЛ
|
||||
|
||||
:param profile_id_list: Идентификатор санкционного профиля ЮЛ. Идентификатор возвращается в методе
|
||||
«Поиск сводной информации по санкционным профилям ЮЛ» -
|
||||
GET /banks/{bankId}/companies/profiles/search
|
||||
:type profile_id_list: list
|
||||
:return: Полная информация по профилю ЮЛ
|
||||
:rtype: dict
|
||||
"""
|
||||
if not profile_id_list:
|
||||
return {'success': False, 'message': 'Не указан список ID профилей'}
|
||||
else:
|
||||
try:
|
||||
profile = profile_id_list[0]
|
||||
response = self.get(path=f'{self._focus_base_url}/companies/profiles/{profile}')
|
||||
|
||||
return {'success': True, 'result': response}
|
||||
except KeyError:
|
||||
return {'success': False, 'result': 'Ошибка в ID профиля.'}
|
||||
|
||||
def legal_entity_profile_report(self, profile_id_list: list, path: str = None) -> dict:
|
||||
"""Получение печатного отчета по профилю ЮЛ
|
||||
|
||||
@@ -211,19 +232,25 @@ class FocusCompliance(Request):
|
||||
"""
|
||||
if self.inn:
|
||||
response = self.get(path=f'{self._focus_base_url}/formFullIndividualReport')
|
||||
if not self.inn and passport and fio:
|
||||
elif not self.inn and passport and fio:
|
||||
response = self.get(path=f'{self._focus_base_url}/formFullIndividualReport', passportNumber=passport, fio=fio)
|
||||
else:
|
||||
return {'success': True, 'result': 'Необходимо указать: либо ИНН, либо ФИО (хотя бы фамилию и имя) и паспорт'}
|
||||
return {'success': False, 'result': 'Необходимо указать: либо ИНН, либо ФИО (хотя бы фамилию и имя) и паспорт'}
|
||||
|
||||
result = self._save_file(
|
||||
filename='Полный_отчет',
|
||||
content=response.content,
|
||||
file_type='docx',
|
||||
path=path
|
||||
)
|
||||
|
||||
return {'success': True, 'file': result}
|
||||
try:
|
||||
if response.status_code == 200:
|
||||
result = self._save_file(
|
||||
filename='Полный_отчет',
|
||||
content=response.content,
|
||||
file_type='docx',
|
||||
path=path
|
||||
)
|
||||
|
||||
return {'success': True, 'file': result}
|
||||
else:
|
||||
return {'success': False, 'result': 'Ошибка получения отчета. Проверьте корректность ИНН, ФИО или паспортных данных.'}
|
||||
except AttributeError:
|
||||
return {'success': False, 'result': 'Ошибка получения отчета. Проверьте корректность ИНН, ФИО или паспортных данных.'}
|
||||
|
||||
# Иноагенты
|
||||
def get_foreign_agents_list(self, fa_type: str = None) -> list: # Не работает, если нет подключенной лицензии
|
||||
|
||||
2
setup.py
2
setup.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
||||
|
||||
setup(
|
||||
name="kontur_focus",
|
||||
version="2025.11.1",
|
||||
version="2025.11.5",
|
||||
author="Ilya Sapunov",
|
||||
author_email="sapunov@selectel.ru",
|
||||
description="Библиотека-обертка для взаимодействия с REST API Контур.Фокус и Фокус.Комплаенс",
|
||||
|
||||
Reference in New Issue
Block a user