📢 This package started in 2013 but is still working. In early 2024 it got an update (https://github.com/illagrenan/ares_util/releases/tag/v0.3.0) to work with the new API. At the moment, neither CI nor tests are working, I know that. I will set aside time this year for a bigger update (Github actions, pyproject.toml, ...).
Latest release | |
CI | |
Dependencies |
Jednoduchý nástroj pro validaci1 českého IČ. U předaného IČ je nejdříve ověřen jeho kontrolní součet (viz Reference) a dle výsledku se následně zasílá požadavek na ARES XML API.
Pokud je IČ validní, vrací nástroj dict
se základními údaji o firmě (obchodní název, adresa).
Ministerstvo financí vyhrazuje právo omezit nebo znemožnit přístup k www aplikaci ARES uživatelům, kteří:
- odešlou k vyřízení více než 1000 dotazů v době od 8:00 hod. do 18:00 hod.,
- odešlou k vyřízení více než 5000 dotazů v době od 18:00 hod. do 8:00 hod. rána následujícího dne,
- opakovaně posílají nesprávně vyplněné dotazy,
- opakovaně posílají stejné dotazy,
- mají větší počet současně zadaných dotazů (pro automatizované XML dotazy),
- obcházejí povolené limity využíváním dotazování z většího množství IP adres, -
- automatizovaně propátrávají databázi náhodnými údaji nebo generují většinu nesprávných dotazů.
—Zdroj: Podmínky provozu ARES API.
Podporované verze Pythonu jsou pypy
, pypy3
, 2.7
, 3.5
, 3.6
a 3.7
.
pip install --upgrade ares-util
python
>>> from ares_util.ares import call_ares
>>> call_ares(42)
False
>>> call_ares('68407700')
{
u'legal': {
u'company_vat_id': u'CZ68407700',
u'company_name': u'České vysoké učení technické v Praze',
u'legal_form': u'601',
u'company_id': u'68407700'
},
u'address': {
u'city': u'Praha',
u'region': u'Hlavní město Praha',
u'street': u'Zikova 1903/4',
u'city_part': u'Dejvice',
u'zip_code': u'16000'
}
}
Podporované verze Djanga jsou 1.11.x
(LTS), 2.0.x
a 2.1.x
.
K dispozi jsou dva Django validátory formulářových polí:
czech_company_id_numeric_validator
- Ověřuje, zda IČ splňuje statické parametry, tj. 7 nebo 8 číslic a kontrolní součet.czech_company_id_ares_api_validator
- Platnost IČ ověřuje pomocí ARES API. Tento validátor před ARES požadavkem rovněž ověřuje statické parametry, proto by neměly být použity oba validátory zároveň.
from ares_util.validators import czech_company_id_numeric_validator, czech_company_id_ares_api_validator
from django import forms
# forms.py
class DemoForm(forms.Form):
company_id = forms.IntegerField(required=True, validators=[czech_company_id_ares_api_validator])
- https://www.abclinuxu.cz/blog/bloK/2008/10/kontrola-ic, https://latrine.dgx.cz/jak-overit-platne-ic-a-rodne-cislo
Chcete-li upravit doplněk lokálně, jednoduše stáhněte zdrojové kódy a nainstalujte závislosti:
pip install -r requirements.txt --upgrade
Testy spustíte pomocí tox
nebo inv test
. Využít můžete i přibalený Flask server pro lokální testování. Stačí spustit:
python .\server.py
* Running on https://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
a v prohlížeči otevřít např.: https://127.0.0.1:5000/42
.
XML response z ARESu je zpracována pomocí xmltodict.
The MIT License (MIT)
Copyright (c) 2013–2019 Vašek Dohnal (@illagrenan)