Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 36462943fa | |||
| 1227c7fc1c | |||
| 2af4797346 | |||
| 8a093175c4 | |||
| b50471276f |
@@ -34,7 +34,9 @@
|
|||||||
|
|
||||||
.. autofunction:: kontur_focus.FocusCompliance.company_is_foreign_agent()
|
.. autofunction:: kontur_focus.FocusCompliance.company_is_foreign_agent()
|
||||||
|
|
||||||
.. autofunction:: kontur_focus.FocusCompliance.search_global_company_profiles_id()
|
.. autofunction:: kontur_focus.FocusCompliance.search_global_company_profiles_id(company_name, search_accuracy)
|
||||||
|
|
||||||
|
.. 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.legal_entity_profile_report(profile_id_list, path)
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -154,11 +154,13 @@
|
|||||||
|
|
||||||
<span class="k">return</span> <span class="n">fal_data</span>
|
<span class="k">return</span> <span class="n">fal_data</span>
|
||||||
|
|
||||||
<span class="k">def</span><span class="w"> </span><span class="nf">search_global_company_profiles_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">company_name</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="k">def</span><span class="w"> </span><span class="nf">search_global_company_profiles_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">company_name</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="n">search_accuracy</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s1">'Max'</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
|
||||||
<span class="w"> </span><span class="sd">"""Поиск сводной информации по санкционным профилям ЮЛ</span>
|
<span class="w"> </span><span class="sd">"""Поиск сводной информации по санкционным профилям ЮЛ</span>
|
||||||
|
|
||||||
<span class="sd"> :param company_name: Наименование компании</span>
|
<span class="sd"> :param company_name: Наименование компании</span>
|
||||||
<span class="sd"> :type company_name: str</span>
|
<span class="sd"> :type company_name: str</span>
|
||||||
|
<span class="sd"> :param search_accuracy: Точность поиска</span>
|
||||||
|
<span class="sd"> :type search_accuracy: str</span>
|
||||||
<span class="sd"> :return: Список идентификаторов профилей</span>
|
<span class="sd"> :return: Список идентификаторов профилей</span>
|
||||||
<span class="sd"> :rtype: list</span>
|
<span class="sd"> :rtype: list</span>
|
||||||
<span class="sd"> """</span>
|
<span class="sd"> """</span>
|
||||||
@@ -170,7 +172,7 @@
|
|||||||
<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">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">try</span><span class="p">:</span>
|
<span class="k">try</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="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/search'</span><span class="p">,</span> <span class="n">query</span><span class="o">=</span><span class="n">query</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="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/search'</span><span class="p">,</span> <span class="n">query</span><span class="o">=</span><span class="n">query</span><span class="p">,</span> <span class="n">searchAccuracy</span><span class="o">=</span><span class="n">search_accuracy</span><span class="p">)</span>
|
||||||
<span class="n">profiles</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">'legalEntityProfiles'</span><span class="p">]</span>
|
<span class="n">profiles</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">'legalEntityProfiles'</span><span class="p">]</span>
|
||||||
|
|
||||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">profiles</span><span class="p">:</span>
|
<span class="k">if</span> <span class="ow">not</span> <span class="n">profiles</span><span class="p">:</span>
|
||||||
@@ -182,6 +184,27 @@
|
|||||||
<span class="k">except</span> <span class="ne">KeyError</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">'Key Error'</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="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>
|
<span class="w"> </span><span class="sd">"""Получение печатного отчета по профилю ЮЛ</span>
|
||||||
|
|
||||||
@@ -200,7 +223,7 @@
|
|||||||
<span class="k">for</span> <span class="n">profile_id</span> <span class="ow">in</span> <span class="n">profile_id_list</span><span class="p">:</span>
|
<span class="k">for</span> <span class="n">profile_id</span> <span class="ow">in</span> <span class="n">profile_id_list</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="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_id</span><span class="si">}</span><span class="s1">/report'</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="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_id</span><span class="si">}</span><span class="s1">/report'</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">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="sa">f</span><span class="s1">'Отчет_по_профилю_</span><span class="si">{</span><span class="n">profile_id_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="si">}</span><span class="s1">'</span><span class="p">,</span>
|
<span class="n">filename</span><span class="o">=</span><span class="sa">f</span><span class="s1">'Отчет_по_профилю_</span><span class="si">{</span><span class="n">profile_id_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="si">}</span><span class="s1">_</span><span class="si">{</span><span class="n">profile_id</span><span class="si">}</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">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">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="n">path</span><span class="o">=</span><span class="n">path</span>
|
||||||
@@ -286,19 +309,25 @@
|
|||||||
<span class="sd"> """</span>
|
<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="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="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="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">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="k">try</span><span class="p">:</span>
|
||||||
<span class="n">filename</span><span class="o">=</span><span class="s1">'Полный_отчет'</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">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">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">file_type</span><span class="o">=</span><span class="s1">'docx'</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">path</span><span class="o">=</span><span class="n">path</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="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="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="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="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>
|
<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>
|
||||||
|
|||||||
@@ -34,7 +34,9 @@
|
|||||||
|
|
||||||
.. autofunction:: kontur_focus.FocusCompliance.company_is_foreign_agent()
|
.. autofunction:: kontur_focus.FocusCompliance.company_is_foreign_agent()
|
||||||
|
|
||||||
.. autofunction:: kontur_focus.FocusCompliance.search_global_company_profiles_id()
|
.. autofunction:: kontur_focus.FocusCompliance.search_global_company_profiles_id(company_name, search_accuracy)
|
||||||
|
|
||||||
|
.. 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.legal_entity_profile_report(profile_id_list, path)
|
||||||
|
|
||||||
|
|||||||
@@ -7,24 +7,15 @@
|
|||||||
Установка через pip
|
Установка через pip
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Выполните ``pip install kontur-focus --index-url https://__token__:<your_personal_token>@git.selectel.org/api/v4/projects/6350/packages/pypi/simple``
|
Выполните ``pip install --index-url https://git.slrover.ru/api/packages/public/pypi/simple/ kontur-focus``
|
||||||
|
|
||||||
Где `<your_personal_token>` - `персональный токен <https://git.selectel.org/help/user/profile/personal_access_tokens>`_ доступа Gitlab.
|
|
||||||
|
|
||||||
Использование requirements.txt
|
Использование requirements.txt
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
Перед использованием необходимо настроить Registry.
|
Добавьте в конец файла ``requirements.txt``::
|
||||||
|
|
||||||
Создайте файл `.pypirc` в папке пользователя и добавьте параметры репозитория:
|
--index-url https://git.slrover.ru/api/packages/public/pypi/simple/
|
||||||
|
kontur-focus
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
[gitlab]
|
|
||||||
repository = https://git.selectel.org/api/v4/projects/6350/packages/pypi
|
|
||||||
username = __token__
|
|
||||||
password = <your personal access token>
|
|
||||||
|
|
||||||
Более подробно `тут <https://git.selectel.org/help/user/packages/pypi_repository/index>`_.
|
|
||||||
|
|
||||||
После выполните ``pip install -r requirements.txt``
|
После выполните ``pip install -r requirements.txt``
|
||||||
|
|||||||
@@ -54,6 +54,7 @@
|
|||||||
<li class="toctree-l2"><a class="reference internal" href="#id5">Юридические лица</a><ul>
|
<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.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.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.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>
|
<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>
|
</ul>
|
||||||
@@ -134,11 +135,14 @@
|
|||||||
|
|
||||||
<dl class="py function">
|
<dl class="py function">
|
||||||
<dt class="sig sig-object py" id="kontur_focus.FocusCompliance.search_global_company_profiles_id">
|
<dt class="sig sig-object py" id="kontur_focus.FocusCompliance.search_global_company_profiles_id">
|
||||||
<span class="sig-name descname"><span class="pre">search_global_company_profiles_id</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#kontur_focus.FocusCompliance.search_global_company_profiles_id" title="Ссылка на это определение"></a></dt>
|
<span class="sig-name descname"><span class="pre">search_global_company_profiles_id</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">company_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">search_accuracy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#kontur_focus.FocusCompliance.search_global_company_profiles_id" title="Ссылка на это определение"></a></dt>
|
||||||
<dd><p>Поиск сводной информации по санкционным профилям ЮЛ</p>
|
<dd><p>Поиск сводной информации по санкционным профилям ЮЛ</p>
|
||||||
<dl class="field-list simple">
|
<dl class="field-list simple">
|
||||||
<dt class="field-odd">Параметры<span class="colon">:</span></dt>
|
<dt class="field-odd">Параметры<span class="colon">:</span></dt>
|
||||||
<dd class="field-odd"><p><strong>company_name</strong> (<em>str</em>) – Наименование компании</p>
|
<dd class="field-odd"><ul class="simple">
|
||||||
|
<li><p><strong>company_name</strong> (<em>str</em>) – Наименование компании</p></li>
|
||||||
|
<li><p><strong>search_accuracy</strong> (<em>str</em>) – Точность поиска</p></li>
|
||||||
|
</ul>
|
||||||
</dd>
|
</dd>
|
||||||
<dt class="field-even">Результат<span class="colon">:</span></dt>
|
<dt class="field-even">Результат<span class="colon">:</span></dt>
|
||||||
<dd class="field-even"><p>Список идентификаторов профилей</p>
|
<dd class="field-even"><p>Список идентификаторов профилей</p>
|
||||||
@@ -149,6 +153,25 @@
|
|||||||
</dl>
|
</dl>
|
||||||
</dd></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">
|
<dl class="py function">
|
||||||
<dt class="sig sig-object py" id="kontur_focus.FocusCompliance.legal_entity_profile_report">
|
<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>
|
<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><a href="focus-compliance.html#kontur_focus.FocusCompliance.full_company_report">full_company_report() (в модуле kontur_focus.FocusCompliance)</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="focus-compliance.html#kontur_focus.FocusCompliance.full_individual_report">full_individual_report() (в модуле kontur_focus.FocusCompliance)</a>
|
<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>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -84,20 +84,15 @@
|
|||||||
<p>Для установки необходимо иметь доступ в корпоративный <a class="reference external" href="https://git.selectel.org">Gitlab</a>, чтобы получить доступ к Registry PyPi.</p>
|
<p>Для установки необходимо иметь доступ в корпоративный <a class="reference external" href="https://git.selectel.org">Gitlab</a>, чтобы получить доступ к Registry PyPi.</p>
|
||||||
<section id="pip">
|
<section id="pip">
|
||||||
<h2>Установка через pip<a class="headerlink" href="#pip" title="Ссылка на этот заголовок"></a></h2>
|
<h2>Установка через pip<a class="headerlink" href="#pip" title="Ссылка на этот заголовок"></a></h2>
|
||||||
<p>Выполните <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">kontur-focus</span> <span class="pre">--index-url</span> <span class="pre">https://__token__:<your_personal_token>@git.selectel.org/api/v4/projects/6350/packages/pypi/simple</span></code></p>
|
<p>Выполните <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">--index-url</span> <span class="pre">https://git.slrover.ru/api/packages/public/pypi/simple/</span> <span class="pre">kontur-focus</span></code></p>
|
||||||
<p>Где <cite><your_personal_token></cite> - <a class="reference external" href="https://git.selectel.org/help/user/profile/personal_access_tokens">персональный токен</a> доступа Gitlab.</p>
|
|
||||||
</section>
|
</section>
|
||||||
<section id="requirements-txt">
|
<section id="requirements-txt">
|
||||||
<h2>Использование requirements.txt<a class="headerlink" href="#requirements-txt" title="Ссылка на этот заголовок"></a></h2>
|
<h2>Использование requirements.txt<a class="headerlink" href="#requirements-txt" title="Ссылка на этот заголовок"></a></h2>
|
||||||
<p>Перед использованием необходимо настроить Registry.</p>
|
<p>Добавьте в конец файла <code class="docutils literal notranslate"><span class="pre">requirements.txt</span></code>:</p>
|
||||||
<p>Создайте файл <cite>.pypirc</cite> в папке пользователя и добавьте параметры репозитория:</p>
|
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">--</span><span class="n">index</span><span class="o">-</span><span class="n">url</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">git</span><span class="o">.</span><span class="n">slrover</span><span class="o">.</span><span class="n">ru</span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">packages</span><span class="o">/</span><span class="n">public</span><span class="o">/</span><span class="n">pypi</span><span class="o">/</span><span class="n">simple</span><span class="o">/</span>
|
||||||
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">[gitlab]</span>
|
<span class="n">kontur</span><span class="o">-</span><span class="n">focus</span>
|
||||||
<span class="go">repository = https://git.selectel.org/api/v4/projects/6350/packages/pypi</span>
|
|
||||||
<span class="go">username = __token__</span>
|
|
||||||
<span class="go">password = <your personal access token></span>
|
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
<p>Более подробно <a class="reference external" href="https://git.selectel.org/help/user/packages/pypi_repository/index">тут</a>.</p>
|
|
||||||
<p>После выполните <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-r</span> <span class="pre">requirements.txt</span></code></p>
|
<p>После выполните <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">-r</span> <span class="pre">requirements.txt</span></code></p>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -7,24 +7,15 @@
|
|||||||
Установка через pip
|
Установка через pip
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Выполните ``pip install kontur-focus --index-url https://__token__:<your_personal_token>@git.selectel.org/api/v4/projects/6350/packages/pypi/simple``
|
Выполните ``pip install --index-url https://git.slrover.ru/api/packages/public/pypi/simple/ kontur-focus``
|
||||||
|
|
||||||
Где `<your_personal_token>` - `персональный токен <https://git.selectel.org/help/user/profile/personal_access_tokens>`_ доступа Gitlab.
|
|
||||||
|
|
||||||
Использование requirements.txt
|
Использование requirements.txt
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
Перед использованием необходимо настроить Registry.
|
Добавьте в конец файла ``requirements.txt``::
|
||||||
|
|
||||||
Создайте файл `.pypirc` в папке пользователя и добавьте параметры репозитория:
|
--index-url https://git.slrover.ru/api/packages/public/pypi/simple/
|
||||||
|
kontur-focus
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
[gitlab]
|
|
||||||
repository = https://git.selectel.org/api/v4/projects/6350/packages/pypi
|
|
||||||
username = __token__
|
|
||||||
password = <your personal access token>
|
|
||||||
|
|
||||||
Более подробно `тут <https://git.selectel.org/help/user/packages/pypi_repository/index>`_.
|
|
||||||
|
|
||||||
После выполните ``pip install -r requirements.txt``
|
После выполните ``pip install -r requirements.txt``
|
||||||
|
|||||||
@@ -79,11 +79,13 @@ class FocusCompliance(Request):
|
|||||||
|
|
||||||
return fal_data
|
return fal_data
|
||||||
|
|
||||||
def search_global_company_profiles_id(self, company_name: str = None) -> list:
|
def search_global_company_profiles_id(self, company_name: str = None, search_accuracy: str = 'Max') -> list:
|
||||||
"""Поиск сводной информации по санкционным профилям ЮЛ
|
"""Поиск сводной информации по санкционным профилям ЮЛ
|
||||||
|
|
||||||
:param company_name: Наименование компании
|
:param company_name: Наименование компании
|
||||||
:type company_name: str
|
:type company_name: str
|
||||||
|
:param search_accuracy: Точность поиска
|
||||||
|
:type search_accuracy: str
|
||||||
:return: Список идентификаторов профилей
|
:return: Список идентификаторов профилей
|
||||||
:rtype: list
|
:rtype: list
|
||||||
"""
|
"""
|
||||||
@@ -95,7 +97,7 @@ class FocusCompliance(Request):
|
|||||||
return {'success': False, 'result': 'Не указан ИНН или наименование контрагента'}
|
return {'success': False, 'result': 'Не указан ИНН или наименование контрагента'}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
response = self.get(f'{self._focus_base_url}/companies/profiles/search', query=query)
|
response = self.get(f'{self._focus_base_url}/companies/profiles/search', query=query, searchAccuracy=search_accuracy)
|
||||||
profiles = response['legalEntityProfiles']
|
profiles = response['legalEntityProfiles']
|
||||||
|
|
||||||
if not profiles:
|
if not profiles:
|
||||||
@@ -107,6 +109,27 @@ class FocusCompliance(Request):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
return {'success': False, 'result': 'Key Error'}
|
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:
|
def legal_entity_profile_report(self, profile_id_list: list, path: str = None) -> dict:
|
||||||
"""Получение печатного отчета по профилю ЮЛ
|
"""Получение печатного отчета по профилю ЮЛ
|
||||||
|
|
||||||
@@ -125,7 +148,7 @@ class FocusCompliance(Request):
|
|||||||
for profile_id in profile_id_list:
|
for profile_id in profile_id_list:
|
||||||
response = self.get(f'{self._focus_base_url}/companies/profiles/{profile_id}/report')
|
response = self.get(f'{self._focus_base_url}/companies/profiles/{profile_id}/report')
|
||||||
result = self._save_file(
|
result = self._save_file(
|
||||||
filename=f'Отчет_по_профилю_{profile_id_list[0]}',
|
filename=f'Отчет_по_профилю_{profile_id_list[0]}_{profile_id}',
|
||||||
content=response.content,
|
content=response.content,
|
||||||
file_type='docx',
|
file_type='docx',
|
||||||
path=path
|
path=path
|
||||||
@@ -216,16 +239,19 @@ class FocusCompliance(Request):
|
|||||||
else:
|
else:
|
||||||
return {'success': False, 'result': 'Необходимо указать: либо ИНН, либо ФИО (хотя бы фамилию и имя) и паспорт'}
|
return {'success': False, 'result': 'Необходимо указать: либо ИНН, либо ФИО (хотя бы фамилию и имя) и паспорт'}
|
||||||
|
|
||||||
if response.status_code == 200:
|
try:
|
||||||
result = self._save_file(
|
if response.status_code == 200:
|
||||||
filename='Полный_отчет',
|
result = self._save_file(
|
||||||
content=response.content,
|
filename='Полный_отчет',
|
||||||
file_type='docx',
|
content=response.content,
|
||||||
path=path
|
file_type='docx',
|
||||||
)
|
path=path
|
||||||
|
)
|
||||||
return {'success': True, 'file': result}
|
|
||||||
else:
|
return {'success': True, 'file': result}
|
||||||
|
else:
|
||||||
|
return {'success': False, 'result': 'Ошибка получения отчета. Проверьте корректность ИНН, ФИО или паспортных данных.'}
|
||||||
|
except AttributeError:
|
||||||
return {'success': False, 'result': 'Ошибка получения отчета. Проверьте корректность ИНН, ФИО или паспортных данных.'}
|
return {'success': False, 'result': 'Ошибка получения отчета. Проверьте корректность ИНН, ФИО или паспортных данных.'}
|
||||||
|
|
||||||
# Иноагенты
|
# Иноагенты
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="kontur_focus",
|
name="kontur_focus",
|
||||||
version="2025.11.3",
|
version="2025.11.7",
|
||||||
author="Ilya Sapunov",
|
author="Ilya Sapunov",
|
||||||
author_email="sapunov@selectel.ru",
|
author_email="sapunov@selectel.ru",
|
||||||
description="Библиотека-обертка для взаимодействия с REST API Контур.Фокус и Фокус.Комплаенс",
|
description="Библиотека-обертка для взаимодействия с REST API Контур.Фокус и Фокус.Комплаенс",
|
||||||
|
|||||||
Reference in New Issue
Block a user