A tool for information system allowing a retrieval of information on economic entities registered in the Czech Republic (ARES - Access to Registers of Economic Subjects / Entities).
Project description
Ares_util
Latest release |
|
CI |
|
Dependencies |
Představení
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).
Podmínky provozu ARES API
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.
Instalace
Podporované verze Pythonu jsou pypy, pypy3, 2.7, 3.5, 3.6 a 3.7.
pip install --upgrade ares-util
Použití
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'
}
}
Django podpora
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ň.
Použití ve formuláři
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])
Reference
Lokální vývoj
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 http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
a v prohlížeči otevřít např.: http://127.0.0.1:5000/42.
Technické informace
XML response z ARESu je zpracována pomocí xmltodict.
Licence
The MIT License (MIT)
Copyright (c) 2013–2019 Vašek Dohnal (@illagrenan)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ares_util-0.2.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba65ed20000c73e25bd038d28837c74e5ebd47fc1ac8f5da077c8d5d44f0b2bd |
|
MD5 | 194d009520925e599b54198b3ec8fc00 |
|
BLAKE2b-256 | f2f97931bb42d0c4e68e5c576cc882bdb679f5a91b663af2774a62f5a06a786c |