Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 65c04d1578 | |||
| 97cc810363 |
Binary file not shown.
Binary file not shown.
@@ -310,15 +310,18 @@
|
||||
<span class="k">return</span> <span class="n">fal_data</span>
|
||||
|
||||
<span class="k">def</span><span class="w"> </span><span class="nf">company_in_sanctions_lists</span><span class="p">(</span><span class="bp">self</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>
|
||||
|
||||
<span class="sd"> :return: Признак присутствия или отсутствия в санкционных списках:\n</span>
|
||||
<span class="sd"> .. code-block:: python\n</span>
|
||||
<span class="sd"> {'company_in_list': False, 'persons_in_company_in_list': False}</span>
|
||||
<span class="sd"> {'company_in_list': False, \n</span>
|
||||
<span class="sd"> 'persons_in_company_in_list': False, \n</span>
|
||||
<span class="sd"> 'lists_dates': [{'type': 'Sema', 'date': '2025-12-15T00:00:00'}]}</span>
|
||||
<span class="sd"> :rtype: dict</span>
|
||||
<span class="sd"> """</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/lists'</span><span class="p">)</span>
|
||||
<span class="n">sanctions_list</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">'sanctionsList'</span><span class="p">]</span>
|
||||
<span class="n">lists_data</span> <span class="o">=</span> <span class="n">response</span><span class="p">[</span><span class="s1">'globalSanctionsList'</span><span class="p">][</span><span class="s1">'listDates'</span><span class="p">]</span>
|
||||
<span class="n">company_in_list</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">persons_in_company_in_list</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
||||
@@ -336,7 +339,8 @@
|
||||
|
||||
<span class="n">sanctions_lists_data</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="s1">'company_in_list'</span><span class="p">:</span> <span class="kc">True</span> <span class="k">if</span> <span class="n">company_in_list</span> <span class="k">else</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<span class="s1">'persons_in_company_in_list'</span><span class="p">:</span> <span class="kc">True</span> <span class="k">if</span> <span class="n">persons_in_company_in_list</span> <span class="k">else</span> <span class="kc">False</span>
|
||||
<span class="s1">'persons_in_company_in_list'</span><span class="p">:</span> <span class="kc">True</span> <span class="k">if</span> <span class="n">persons_in_company_in_list</span> <span class="k">else</span> <span class="kc">False</span><span class="p">,</span>
|
||||
<span class="s1">'lists_data'</span><span class="p">:</span> <span class="n">lists_data</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">sanctions_lists_data</span>
|
||||
@@ -447,14 +451,18 @@
|
||||
<span class="n">model_id</span> <span class="o">=</span> <span class="p">[</span><span class="n">d</span><span class="p">[</span><span class="s1">'risk_model_id'</span><span class="p">]</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">check_models</span> <span class="k">if</span> <span class="n">d</span><span class="p">[</span><span class="s1">'name'</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'corporate'</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="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">/models/</span><span class="si">{</span><span class="n">model_id</span><span class="si">}</span><span class="s1">/fullCompanyReport'</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="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">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">person_is_foreign_agent</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
|
||||
.. autofunction:: kontur_focus.FocusCompliance.company_in_sanctions_lists()
|
||||
|
||||
|
||||
.. 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)
|
||||
|
||||
@@ -274,11 +274,15 @@
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="kontur_focus.FocusCompliance.company_in_sanctions_lists">
|
||||
<span class="sig-name descname"><span class="pre">company_in_sanctions_lists</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#kontur_focus.FocusCompliance.company_in_sanctions_lists" title="Ссылка на это определение">¶</a></dt>
|
||||
<dd><p>Вхождение организации и ее руководителей в санкционные списки</p>
|
||||
<dd><p>Вхождение организации и ее руководителей в санкционные списки с датами вхождения по типам санкций</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Результат<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><p>Признак присутствия или отсутствия в санкционных списках:</p>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="s1">'company_in_list'</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span> <span class="s1">'persons_in_company_in_list'</span><span class="p">:</span> <span class="kc">False</span><span class="p">}</span>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="s1">'company_in_list'</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
|
||||
<span class="s1">'persons_in_company_in_list'</span><span class="p">:</span> <span class="kc">False</span><span class="p">,</span>
|
||||
|
||||
<span class="s1">'lists_dates'</span><span class="p">:</span> <span class="p">[{</span><span class="s1">'type'</span><span class="p">:</span> <span class="s1">'Sema'</span><span class="p">,</span> <span class="s1">'date'</span><span class="p">:</span> <span class="s1">'2025-12-15T00:00:00'</span><span class="p">}]}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</p>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -80,15 +80,18 @@ class FocusCompliance(Request):
|
||||
return fal_data
|
||||
|
||||
def company_in_sanctions_lists(self) -> dict:
|
||||
"""Вхождение организации и ее руководителей в санкционные списки
|
||||
"""Вхождение организации и ее руководителей в санкционные списки с датами вхождения по типам санкций
|
||||
|
||||
:return: Признак присутствия или отсутствия в санкционных списках:\n
|
||||
.. code-block:: python\n
|
||||
{'company_in_list': False, 'persons_in_company_in_list': False}
|
||||
{'company_in_list': False, \n
|
||||
'persons_in_company_in_list': False, \n
|
||||
'lists_dates': [{'type': 'Sema', 'date': '2025-12-15T00:00:00'}]}
|
||||
:rtype: dict
|
||||
"""
|
||||
response = self.get(path=f'{self._focus_base_url}/companies/lists')
|
||||
sanctions_list = response['sanctionsList']
|
||||
lists_data = response['globalSanctionsList']['listDates']
|
||||
company_in_list = []
|
||||
persons_in_company_in_list = []
|
||||
|
||||
@@ -106,7 +109,8 @@ class FocusCompliance(Request):
|
||||
|
||||
sanctions_lists_data = {
|
||||
'company_in_list': True if company_in_list else False,
|
||||
'persons_in_company_in_list': True if persons_in_company_in_list else False
|
||||
'persons_in_company_in_list': True if persons_in_company_in_list else False,
|
||||
'lists_data': lists_data
|
||||
}
|
||||
|
||||
return sanctions_lists_data
|
||||
@@ -217,14 +221,18 @@ class FocusCompliance(Request):
|
||||
model_id = [d['risk_model_id'] for d in self.check_models if d['name'] == 'corporate'][0]
|
||||
|
||||
response = self.get(f'{self._focus_base_url}/models/{model_id}/fullCompanyReport')
|
||||
result = self._save_file(
|
||||
filename='Полный_отчет',
|
||||
content=response.content,
|
||||
file_type='docx',
|
||||
path=path
|
||||
)
|
||||
|
||||
return {'success': True, 'file': result}
|
||||
|
||||
try:
|
||||
result = self._save_file(
|
||||
filename='Полный_отчет',
|
||||
content=response.content,
|
||||
file_type='docx',
|
||||
path=path
|
||||
)
|
||||
|
||||
return {'success': True, 'file': result}
|
||||
except AttributeError:
|
||||
return {'success': False, 'result': 'Организация не найдена'}
|
||||
|
||||
# Физлица
|
||||
def person_is_foreign_agent(self):
|
||||
|
||||
Reference in New Issue
Block a user