Metadata-Version: 1.1
Name: ares-util
Version: 0.2.2
Summary: 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).
Home-page: https://github.com/illagrenan/ares_util
Author: Vasek Dohnal
Author-email: vaclav.dohnal@gmail.com
License: MIT
Description: Ares\_util
        ==========
        
        +----------------+-----------------------------------------------------------------------------------------------------------------+
        | Latest release | .. image:: https://img.shields.io/pypi/v/ares-util.svg                                                          |
        |                |    :target: https://pypi.python.org/pypi/ares-util                                                              |
        |                |    :alt: PyPi                                                                                                   |
        |                |                                                                                                                 |
        |                | .. image:: https://img.shields.io/badge/license-MIT-blue.svg                                                    |
        |                |    :target: https://pypi.python.org/pypi/ares-util/                                                             |
        |                |    :alt: MIT License                                                                                            |
        |                |                                                                                                                 |
        |                | .. image:: https://img.shields.io/pypi/implementation/ares-util.svg                                             |
        |                |    :target: https://pypi.python.org/pypi/ares-util/                                                             |
        |                |    :alt: Supported Python implementations                                                                       |
        |                |                                                                                                                 |
        |                | .. image:: https://img.shields.io/pypi/pyversions/ares-util.svg                                                 |
        |                |    :target: https://pypi.python.org/pypi/ares-util/                                                             |
        |                |    :alt: Supported Python versions                                                                              |
        +----------------+-----------------------------------------------------------------------------------------------------------------+
        | CI             | .. image:: https://img.shields.io/travis/illagrenan/ares_util.svg                                               |
        |                |    :target: https://travis-ci.org/illagrenan/ares_util                                                          |
        |                |    :alt: TravisCI                                                                                               |
        |                |                                                                                                                 |
        |                | .. image:: https://img.shields.io/coveralls/illagrenan/ares_util.svg                                            |
        |                |    :target: https://coveralls.io/github/illagrenan/ares_util?branch=master                                      |
        |                |    :alt: Coverage                                                                                               |
        +----------------+-----------------------------------------------------------------------------------------------------------------+
        | Dependencies   | .. image:: https://pyup.io/repos/github/illagrenan/ares_util/shield.svg                                         |
        |                |     :target: https://pyup.io/repos/github/illagrenan/ares_util/                                                 |
        |                |     :alt: Updates                                                                                               |
        +----------------+-----------------------------------------------------------------------------------------------------------------+
        
        Představení
        -----------
        
        Jednoduchý nástroj pro validaci\ :sup:`1` českého IČ. U předaného IČ je nejdříve ověřen jeho kontrolní součet (viz `Reference <https://github.com/illagrenan/ares_util/master/README.md#reference>`__) a dle výsledku se následně zasílá požadavek na `ARES XML API <http://wwwinfo.mfcr.cz/ares/ares_xml.html.cz>`__.
        
        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 <http://wwwinfo.mfcr.cz/ares/ares_podminky.html.cz>`__.
        
        Instalace
        ---------
        
        Podporované verze Pythonu jsou ``pypy``, ``pypy3``, ``2.7``, ``3.5``, ``3.6`` a ``3.7``.
        
        .. code:: shell
        
            pip install --upgrade ares-util
        
        Použití
        -------
        
        .. code:: shell
        
            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 <https://docs.djangoproject.com/en/dev/ref/validators/>`__ 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
        ~~~~~~~~~~~~~~~~~~~~
        
        .. code:: python
        
            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
        =========
        
        1. http://www.abclinuxu.cz/blog/bloK/2008/10/kontrola-ic,
           http://latrine.dgx.cz/jak-overit-platne-ic-a-rodne-cislo
        
        Lokální vývoj
        =============
        
        Chcete-li upravit doplněk lokálně, jednoduše stáhněte zdrojové kódy a nainstalujte závislosti:
        
        .. code:: shell
        
            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:
        
        .. code:: shell
        
            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 <https://github.com/martinblech/xmltodict>`__.
        
        Licence
        =======
        
        The MIT License (MIT)
        
        Copyright (c) 2013–2019 Vašek Dohnal (@illagrenan)
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.1
