2018-04-12 Arthur de Jong * [e200656] stdnum/iban.py, tests/test_be_iban.doctest: Add an extra test for Belgian IBANs A Belgian IBAN should not end with 00. This also fixes a docstring and comment in the IBAN module. 2018-04-10 Arthur de Jong * [e6739be] stdnum/imsi.dat, stdnum/imsi.py, tests/test_imsi.doctest, update/imsi.py: Correctly split IMSI with multi-length MNC Ensures that imsi.split() will correctly split the IMSI into an MCC, MNC and MSIN even if not all MNCs within a single MCC have the same length. This has the downside of not being able to guess the MNC length in some cases. This also omits empty information from the data file and updates the data file from Wikipedia. Closes https://github.com/arthurdejong/python-stdnum/issues/68 2018-04-09 Arthur de Jong * [2541a22] online_check/check.js: Improve online check animation This speeds up the animation, collapsing the list before performing the server request and disable the slide animation on history navigation. 2018-04-09 Arthur de Jong * [147b84b] online_check/stdnum.wsgi: Ensure API requests are cached separately This ensures that requests that browsers make using XMLHttpRequest (they set the X-Requested-With header) are cached separately from normal requests. 2018-04-09 Arthur de Jong * [8204ac6] stdnum/do/ncf.py: Support new style of NCF numbers This adds support for validating Dominican Republic invoice numbers that should be used since from 2018-05-01. http://www.dgii.gov.do/contribuyentes/personasFisicas/inicioOperaciones/ComprobantesFiscales/Paginas/SecuenciaDeNCF.aspx Closes https://github.com/arthurdejong/python-stdnum/issues/69 2018-03-25 Arthur de Jong * [918d483] stdnum/figi.py, tests/test_figi.doctest: Add Financial Instrument Global Identifier 2018-03-23 Arthur de Jong * [ceb3c62] stdnum/de/__init__.py, stdnum/de/handelsregisternummer.py, tests/test_de_handelsregisternummer.doctest: Add German company registry numbers Based on the implementation provided by Markus Törnqvist and Lari Haataja of Holvi Payment Services. 2018-03-19 Arthur de Jong * [fec1685] stdnum/at/tin.py: Also ignore other letters with possible umlaut Fixes 98d11a3 Closes https://github.com/arthurdejong/python-stdnum/pull/67 2018-03-18 Arthur de Jong * [98d11a3] stdnum/at/fa.dat, stdnum/at/tin.py, tests/test_at_tin.doctest: Add Austrian Abgabenkontonummer Based on the implementation provided by Mohammed Salman of Holvi. Closes https://github.com/arthurdejong/python-stdnum/pull/50 2018-03-17 Arthur de Jong * [ab15e20] stdnum/at/__init__.py: Fix import order Fixes ee263a5 2018-03-17 Arthur de Jong * [ee263a5] setup.cfg, stdnum/at/__init__.py, stdnum/at/postleitzahl.dat, stdnum/at/postleitzahl.py, stdnum/nl/__init__.py, update/at_postleitzahl.py: Add Austrian postal code This also fixes the name of the Dutch postal_code alias and tunes the tests. 2018-03-17 Arthur de Jong * [8c29fbf] stdnum/me/__init__.py, stdnum/me/iban.py, tests/test_iban.doctest: Add support for Montenegro IBAN format This adds further checks to the country-specific part of the IBAN for Montenegro IBANs. 2018-03-11 Arthur de Jong * [647dfea] stdnum/de/stnr.py, tests/test_de_stnr.doctest: Add German Steuernummer Based on the implementation provided by Mohammed Salman of Holvi. This is the old tax number that is being replaced by the Steuerliche Identifikationsnummer. The number has a regional form (which is used most often) and a national form. Closes https://github.com/arthurdejong/python-stdnum/pull/49 2018-02-28 Esa Halsti * [6e30cf5] stdnum/fi/hetu.py, tests/test_fi_hetu.doctest: Add validation for "individual" part of hetu The range between 900 and 999 is reserved for temporary identifiers and is not given to any real person. Closes https://github.com/arthurdejong/python-stdnum/pull/66 2018-03-10 Arthur de Jong * [70dc091] setup.cfg: Support building a universal wheel 2018-02-19 Arthur de Jong * [75138a4] stdnum/do/cedula.py, tests/test_do_cedula.py: Add check_dgii() to stdnum.do.cedula module This exposes the stdnum.do.rnc.check_dgii() in the stdnum.do.cedula module with but rename the rnc result entry to cedula. Closes https://github.com/arthurdejong/python-stdnum/issues/63 2018-02-19 Arthur de Jong * [92d751c] stdnum/do/ncf.py, stdnum/do/rnc.py: Fix PySimpleSOAP DGII result parsing issue This strips the wrapper that PySimpleSOAP puts around results from the DGII PySimpleSOAP SOAP call. Closes https://github.com/arthurdejong/python-stdnum/issues/64 Closes https://github.com/arthurdejong/python-stdnum/issues/65 2018-02-19 Arthur de Jong * [81947a2] docs/index.rst: Improve get_cc_module() documentation 2018-02-14 Arthur de Jong * [5cbba25] setup.cfg, stdnum/al/__init__.py, stdnum/ar/__init__.py, stdnum/at/__init__.py, stdnum/be/__init__.py, stdnum/be/iban.py, stdnum/cl/__init__.py, stdnum/co/__init__.py, stdnum/cz/__init__.py, stdnum/dk/__init__.py, stdnum/do/__init__.py, stdnum/ec/__init__.py, stdnum/ee/__init__.py, stdnum/es/__init__.py, stdnum/exceptions.py, stdnum/fi/__init__.py, stdnum/fr/__init__.py, stdnum/hr/__init__.py, stdnum/hu/__init__.py, stdnum/is_/__init__.py, stdnum/it/__init__.py, stdnum/lt/__init__.py, stdnum/lu/__init__.py, stdnum/lv/__init__.py, stdnum/mc/__init__.py, stdnum/mx/__init__.py, stdnum/nl/__init__.py, stdnum/no/__init__.py, stdnum/pl/__init__.py, stdnum/pt/__init__.py, stdnum/ro/__init__.py, stdnum/rs/__init__.py, stdnum/si/__init__.py, stdnum/sk/__init__.py, stdnum/sm/__init__.py, tests/test_do_ncf.py, tests/test_do_rnc.py, update/be_banks.py, update/numlist.py: Update the flake8 ignore list Re-enable the flake8 test for unused imports by explicitly marking imports for namespace purposes. This allows us to remove a few unused imports. A few more cleanups that allow us to reduce the number of ignored flake8 ignored tests. The remaining ignored tests are now documented. Ignore a flake8 warning about print statements because we use print in the update scripts. 2018-02-11 Arthur de Jong * [201960c] stdnum/be/iban.py, stdnum/bic.py, stdnum/iban.py, tests/test_be_iban.doctest: Add test for Belgian IBANs This adds a test for IBANs that were found online together with a BIC code to test the IBAN to swift code mapping. This also supports some extra separators in IBAN and BIC numbers and fixes a check digit calculation issue in the Belgian account number check digits. 2018-02-10 Arthur de Jong * [56002fa] stdnum/be/banks.dat, stdnum/be/iban.py, tests/test_iban.doctest, update/be_banks.py, update/requirements.txt: Add support for Belgian IBAN format This adds further checks to the country-specific part of the IBAN for Belgian IBANs. Closes https://github.com/arthurdejong/python-stdnum/issues/62 2018-02-10 Arthur de Jong * [c611b27] stdnum/bic.py: Support spaces in BIC codes BIC codes are sometimes written in a space-separated form this correctly cleans the spaces for compact representation. 2018-02-06 Arthur de Jong * [5fd1ae0] stdnum/do/ncf.py, stdnum/do/rnc.py, stdnum/eu/vat.py, stdnum/tr/tckimlik.py, stdnum/util.py: Allow configuring SOAP request timeout This adds a timeout parameter to all checks that use a SOAP web service to reduce the blocking time. The default timeout for all checks is 30 seconds. 2018-01-07 Chris Lamb * [c113613] stdnum/eu/vat.py: Exclude EU country codes from documentation Whilst working on the Reproducible Builds effort [0], we noticed that python-stdnum could not be built reproducibly as it relies on a stable set ordering when generating the documentation. This has been filed in Debian as #88652 [0] https://reproducible-builds.org/ [1] https://bugs.debian.org/886522 Closes: https://github.com/arthurdejong/python-stdnum/pull/61 Signed-off-by: Chris Lamb 2018-01-06 Arthur de Jong * [9841bae] ChangeLog, NEWS, stdnum/__init__.py: Get files ready for 1.8.1 release 2018-01-06 Arthur de Jong * [820c233] README: Fix feedback section in README to be valid RST 2018-01-06 Arthur de Jong * [ab8a871] setup.py: Update long description in compatible way This ensures that the README is read correctly on all supported Python interpreters. Fixes 1304122 2018-01-05 5j9 <5j9@users.noreply.github.com> * [1304122] setup.py: setup.py: Open README with utf-8 encoding Fixes #59 2018-01-03 Arthur de Jong * [ae89e82] ChangeLog, MANIFEST.in, NEWS, README, docs/conf.py, docs/index.rst, docs/stdnum.casrn.rst, docs/stdnum.do.ncf.rst, docs/stdnum.eu.banknote.rst, docs/stdnum.in_.aadhaar.rst, docs/stdnum.in_.pan.rst, setup.cfg, stdnum/__init__.py, update/numlist.py: Get files ready for 1.8 release 2018-01-03 Arthur de Jong * [db9b278] tox.ini: Fix Sphinx dependency name 2018-01-03 Arthur de Jong * [fbb9d24] docs/index.rst, stdnum/__init__.py: Move get_cc_module() function to package for public use 2018-01-03 Arthur de Jong * [7bb0e5f] setup.py, stdnum/util.py: Try the non-caching zeep client on older versions This uses the "normal" Client class from zeep if CachingClient is not available (this is the case on older zeep versions). This also records (and documents) the dependencies for SOAP libraries in setup.py. 2018-01-01 Arthur de Jong * [6d7ba46] .travis.yml: Add a Travis configuration file 2018-01-01 Arthur de Jong * [db7be06] stdnum/do/ncf.py, stdnum/do/rnc.py, tox.ini: Fix Python 2.6 compatibility 2018-01-01 Arthur de Jong * [8107f08] stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/us/ein.dat: Update database files Note that the Swift IBAN Registry in txt format is currently unavailable so hasn't been updated. 2018-01-01 Arthur de Jong * [e781eee] MANIFEST.in, tox.ini, update/README, update/cn_loc.py, update/do_whitelists.py, update/eu_nace.py, update/iban.py, update/imsi.py, update/isbn.py, update/isil.py, update/my_bp.py, update/numlist.py, update/requirements.txt: Move update scripts to own directory This moves all the update scripts to their own directory so they don't clutter the toplevel directory. This also ensures that the scripts are passed through flake8 and makes some adjustments for that alongside a few other cleanups. 2017-12-01 srikanthlogic * [442aa82] stdnum/in_/pan.py, tests/test_in_pan.doctest: Add Indian PAN Closes https://github.com/arthurdejong/python-stdnum/pull/57 2017-12-31 Arthur de Jong * [8a34b4e] stdnum/util.py: Correctly quote regular expression Fixes a6ae1d0. 2017-12-31 Arthur de Jong * [271b9e4] docs/stdnum.is_.kennitala.rst, docs/stdnum.is_.vsk.rst, tox.ini: Add Sphinx documentation checks This also fixes an escaping issue in the automatically generated documentation for modules that end with an underscore. 2017-12-06 Arthur de Jong * [be094f8] README, docs/conf.py, docs/index.rst, getnumlist.py, setup.py, stdnum/__init__.py: Use README as package long description This also shortens the stdnum module docstring and updates the Sphinx configuration. 2017-12-01 srikanthlogic * [c576bc4] stdnum/in_/__init__.py, stdnum/in_/aadhaar.py: Add Indian Aadhaar Closes https://github.com/arthurdejong/python-stdnum/pull/56 2017-11-26 Arthur de Jong * [bafdb70] stdnum/casrn.py, tests/test_casrn.doctest: Add CAS Registry Number This adds validation of the Chemical Abstracts Service Registry Number. 2017-11-24 Arthur de Jong * [d5f97e9] online_check/check.js, online_check/stdnum.wsgi: Change output of online lookups This puts the number before the number name to make it a little clearer. 2017-11-24 Arthur de Jong * [f7b4615] online_check/check.js: Store online check numbers in history This updates the browser history with with the numbers that were checked so that you can easily go back and forth between checked number. 2017-11-24 Arthur de Jong * [7cb114b] online_check/stdnum.wsgi: Correctly escape number for use in attribute 2017-11-26 Arthur de Jong * [90067f7] tests/test_eu_banknote.doctest: Fix incorrect banknote test Also add a few verified correct numbers. Fixes b7b812c. 2017-11-22 Arthur de Jong * [b7b812c] stdnum/eu/banknote.py, tests/test_eu_banknote.doctest: Add Euro bank notes serial number This adds validation of serial numbers that appear on Euro bills. 2017-11-02 Arthur de Jong * [a6ae1d0] docs/index.rst, docs/stdnum.bic.rst, docs/stdnum.iso9362.rst, stdnum/bic.py, stdnum/iso9362.py, stdnum/util.py: Rename stdnum.iso9362 to stdnum.bic The new name is more descriptive and easier to remember. This makes stdnum.iso9362 a compatibility module that can be imported with the old name but provides a deprecation warning. 2017-10-22 Arthur de Jong * [6be1754] stdnum/util.py: Support zeep as preferred SOAP library This tries zeep, suds (suds-jurko) and falls back to using pysimplesoap for performing the SOAP requests. From those zeep seems to be the best supported implementation. 2017-10-22 Arthur de Jong * [9ab1d66] stdnum/eu/vat.py, tests/test_eu_vat.py: Add tests for the VIES VAT validation functions These tests are not normally run as part of the normal test suite and have to be explicitly enabled by setting the ONLINE_TESTS environment variable to avoid overloading these online services. 2017-10-18 Arthur de Jong * [ab21159] stdnum/do/ncf.py, tests/test_do_ncf.py: Add stdnum.do.ncf.check_dgii() This adds functions for querying the Dirección General de Impuestos Internos (DGII) API to check if the RNC and NCF combination provided is valid. 2017-10-18 Arthur de Jong * [6b09c5d] stdnum/do/rnc.py, tests/test_do_rnc.py, tox.ini: Add stdnum.do.rnc.check_dgii() and search_dgii() This adds functions for querying the Dirección General de Impuestos Internos (DGII) API to validate the RNC and search the register by keyword. 2017-10-16 Arthur de Jong * [665bf7a] stdnum/do/ncf.py, tests/test_do_ncf.doctest: Add Dominican Republic receipt number (NCF) This number does not have a check digit but uses a distinctive enough format that it should not be too great of a problem. 2017-10-14 Arthur de Jong * [4ab1e3b] stdnum/eu/vat.py, stdnum/tr/tckimlik.py, stdnum/util.py: Cache SOAP client in get_soap_client() This caches the instantiated SOAP client classes in the util module instead of doing the caching in every module that performs requests. 2017-10-18 Arthur de Jong * [cecd35c] getdowhitelists.py: Add a script for updating RNC and Cedula whitelists 2017-10-13 Arthur de Jong * [399321b] stdnum/do/rnc.py, tests/test_do_rnc.doctest: Also add a whitelist for Dominican Republic RNC Some RNCs are apparently valid while having an incorrect check digit (though most appear to be inactive). There also appear to be valid RNCs that do not have 9 digits. 2017-10-13 Arthur de Jong * [58511dc] stdnum/do/cedula.py, tests/test_do_cedula.doctest: Add a few new numbers to the Cedula whitelist These numbers were found to be valid but had an invalid check digit nonetheless (though most appear to be inactive). Also there appear to be a few valid Cedula that do not have 11 digits. 2017-10-13 David Arnold * [74c1721] stdnum/util.py, tests/test_util.doctest: Handle unicode arguments in get_cc_module() Closes https://github.com/arthurdejong/python-stdnum/issues/54 2017-09-15 Arthur de Jong * [12cd072] stdnum/eu/at_02.py: Fix spelling errors 2017-09-12 Arthur de Jong * [4496ffe] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.ca.bn.rst, docs/stdnum.ca.sin.rst, docs/stdnum.de.idnr.rst, docs/stdnum.ee.registrikood.rst, docs/stdnum.fi.veronumero.rst, docs/stdnum.gb.upn.rst, stdnum/__init__.py: Get files ready for 1.7 release 2017-09-12 Arthur de Jong * [28092b3] stdnum/damm.py: Add example with custom table to Damm 2017-09-11 Arthur de Jong * [24d4a76] stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files 2017-09-11 Arthur de Jong * [5071636] getisbn.py: Update getisbn to allow TLSv1 The www.isbn-international.org site uses TLSv1 which seems to be blocked by recent Python/OpenSSL combinations unless configured otherwise. 2017-09-11 Arthur de Jong * [edaad05] setup.cfg, tox.ini: Run flake8 from tox 2017-09-10 Arthur de Jong * [0ce5d0b] stdnum/bg/egn.py, stdnum/cz/dic.py, stdnum/dk/cpr.py, stdnum/es/cups.py, stdnum/es/referenciacatastral.py, stdnum/eu/nace.py, stdnum/fr/nir.py, stdnum/fr/siren.py, stdnum/iban.py, stdnum/it/codicefiscale.py, stdnum/lv/pvn.py, stdnum/numdb.py, stdnum/ro/cnp.py, stdnum/util.py: Minor code improvements (mostly PEP8) 2017-09-10 Arthur de Jong * [e468c1b] stdnum/ch/vat.py, stdnum/cn/ric.py, stdnum/do/cedula.py, stdnum/ee/ik.py, stdnum/ee/registrikood.py, stdnum/es/nif.py, stdnum/fi/__init__.py, stdnum/fi/hetu.py, stdnum/gb/nhs.py, stdnum/gb/upn.py, stdnum/gb/vat.py, stdnum/is_/kennitala.py, stdnum/it/codicefiscale.py, stdnum/nl/onderwijsnummer.py, stdnum/numdb.py, stdnum/rs/pib.py, stdnum/sk/rc.py, stdnum/us/tin.py: Make import ordering consistent 2017-09-10 Arthur de Jong * [1c27639] stdnum/al/nipt.py, stdnum/ar/cbu.py, stdnum/ar/cuit.py, stdnum/at/businessid.py, stdnum/at/uid.py, stdnum/au/abn.py, stdnum/au/acn.py, stdnum/au/tfn.py, stdnum/be/vat.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/br/cnpj.py, stdnum/br/cpf.py, stdnum/ca/bn.py, stdnum/ca/sin.py, stdnum/ch/ssn.py, stdnum/ch/uid.py, stdnum/ch/vat.py, stdnum/cl/rut.py, stdnum/cn/ric.py, stdnum/co/nit.py, stdnum/cusip.py, stdnum/cy/vat.py, stdnum/cz/dic.py, stdnum/cz/rc.py, stdnum/damm.py, stdnum/de/idnr.py, stdnum/de/vat.py, stdnum/de/wkn.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/do/cedula.py, stdnum/do/rnc.py, stdnum/ean.py, stdnum/ec/ci.py, stdnum/ec/ruc.py, stdnum/ee/ik.py, stdnum/ee/kmkr.py, stdnum/ee/registrikood.py, stdnum/es/ccc.py, stdnum/es/cif.py, stdnum/es/cups.py, stdnum/es/dni.py, stdnum/es/iban.py, stdnum/es/nie.py, stdnum/es/nif.py, stdnum/es/referenciacatastral.py, stdnum/eu/at_02.py, stdnum/eu/eic.py, stdnum/eu/nace.py, stdnum/eu/vat.py, stdnum/fi/alv.py, stdnum/fi/associationid.py, stdnum/fi/hetu.py, stdnum/fi/veronumero.py, stdnum/fi/ytunnus.py, stdnum/fr/nif.py, stdnum/fr/nir.py, stdnum/fr/siren.py, stdnum/fr/siret.py, stdnum/fr/tva.py, stdnum/gb/nhs.py, stdnum/gb/sedol.py, stdnum/gb/upn.py, stdnum/gb/vat.py, stdnum/gr/vat.py, stdnum/grid.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/ie/vat.py, stdnum/imei.py, stdnum/imo.py, stdnum/imsi.py, stdnum/is_/kennitala.py, stdnum/is_/vsk.py, stdnum/isan.py, stdnum/isbn.py, stdnum/isil.py, stdnum/isin.py, stdnum/ismn.py, stdnum/iso6346.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/iso9362.py, stdnum/issn.py, stdnum/it/codicefiscale.py, stdnum/it/iva.py, stdnum/lei.py, stdnum/lt/pvm.py, stdnum/lu/tva.py, stdnum/luhn.py, stdnum/lv/pvn.py, stdnum/mc/tva.py, stdnum/meid.py, stdnum/mt/vat.py, stdnum/mx/rfc.py, stdnum/my/nric.py, stdnum/nl/brin.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/nl/postcode.py, stdnum/no/mva.py, stdnum/no/orgnr.py, stdnum/numdb.py, stdnum/pl/nip.py, stdnum/pl/pesel.py, stdnum/pl/regon.py, stdnum/pt/nif.py, stdnum/ro/cf.py, stdnum/ro/cnp.py, stdnum/rs/pib.py, stdnum/ru/inn.py, stdnum/se/orgnr.py, stdnum/se/vat.py, stdnum/si/ddv.py, stdnum/sk/dph.py, stdnum/sm/coe.py, stdnum/tr/__init__.py, stdnum/tr/tckimlik.py, stdnum/us/atin.py, stdnum/us/ein.py, stdnum/us/itin.py, stdnum/us/ptin.py, stdnum/us/rtn.py, stdnum/us/ssn.py, stdnum/us/tin.py, stdnum/verhoeff.py: Docstring improvements 2017-09-08 Arthur de Jong * [2cc39ea] stdnum/cz/dic.py, tests/test_eu_vat.doctest: Fix Czech DIČ check digit calculation This fixes a bug in the check digit calculation for the 9-digit numbers that start with a 6 for individuals without a RČ. This also adds a few tests for Czech VAT numbers. See https://github.com/arthurdejong/python-stdnum/issues/51 2017-09-04 Arthur de Jong * [d24a439] stdnum/ee/registrikood.py, tests/test_ee_registrikood.doctest: Add Estonian Registrikood This is based on what was done by Mohammed Salman of Holvi. This adds more tests and validates the check digit. This uses the check digit algorithm from Isikukood which seems to work with all tested numbers although there is no confirmation that this is the correct algorithm. 2017-08-25 Mohammed Salman * [53cc0dc] stdnum/de/idnr.py, tests/test_de_idnr.doctest: Add support for German tax id number 2017-08-30 Arthur de Jong * [a71a1ac] stdnum/isbn.py, tests/test_isbn.doctest: Check bookland code in ISBN This ensures that an InvalidComponent() exception is raised when an unknown EAN bookland code is found. It will also raise this exception when using to_isbn10() when not using the 978 code. 2017-08-28 Arthur de Jong * [8f6fa7d] setup.cfg, stdnum/iban.py, stdnum/ismn.py, stdnum/meid.py, stdnum/numdb.py, stdnum/util.py, tests/numdb-test.dat, tests/test_util.doctest: Ensure 100% branch coverage This ensures that the tests fail if 100% branch coverage is not achieved. It also adds some pragma statements for code that cannot be covered or is Python version dependent. Furthermore, the get_module_list() function was removed from stdnum.util and more tests were made from stdnum.util and stdnum.numdb. The functionality to call format() in a country-specific IBAN implementation was also dropped because it was not used. 2017-08-27 Arthur de Jong * [fbc92f8] stdnum/gb/upn.py: Add English Unique Pupil Number (UPN) 2017-08-26 Arthur de Jong * [b8389eb] stdnum/ca/bn.py, tests/test_ca_bn.doctest: Add Canadian Business Number (BN) 2017-08-26 Arthur de Jong * [efd2eb9] stdnum/ca/__init__.py, stdnum/ca/sin.py: Add Canadian Social Insurance Number (SIN) 2017-08-24 Arthur de Jong * [b8e12d6] setup.cfg: Ensure all Python files are in coverage report 2017-08-17 Mohammed Salman * [0c91b43] stdnum/fi/veronumero.py: Implement Finnish individual tax number validation 2017-07-11 Arthur de Jong * [bd0c7c7] online_check/check.js, online_check/stdnum.wsgi, online_check/template.html: Include search term in online form This also makes the Javascript regular expression used for highlighting links the same as the Python equivalent. 2017-06-02 Arthur de Jong * [81446fd] stdnum/iso7064/mod_97_10.py: Use slightly more compact code This changes the alphanumeric to numeric translation to be slightly more compact and slightly faster. 2017-04-16 Arthur de Jong * [ed9ac5b] tests/test_isbn.doctest: Add a few ISBNs found online This adds a number of ISBNs found online from various sources to the test suite. 2017-04-15 Arthur de Jong * [57c12d8] stdnum/ismn.py, tests/test_ismn.doctest: An ISMN can only be 10 or 13 digits This also adds the test that an ISMN should start with 9790. 2017-04-15 Arthur de Jong * [6fb2e89] stdnum/isbn.py, tests/test_isbn.doctest: Fix conversion of 9 digit ISBN to ISBN13 2017-04-13 Arthur de Jong * [5604d91] docs/index.rst, setup.py, stdnum/fr/nir.py, stdnum/fr/siren.py, stdnum/gb/nhs.py, stdnum/isil.py, stdnum/iso6346.py, stdnum/lv/pvn.py, stdnum/nl/brin.py, stdnum/us/ein.dat, tests/test_al_nipt.doctest: Switch to HTTPS URLs 2017-04-13 Arthur de Jong * [d14ea3b] online_check/README, online_check/check.js, online_check/stdnum.wsgi: Show possible conversions in online check This shows possible converted values. For example it will show ISBN13 conversions for ISBN10 values. 2017-04-13 Arthur de Jong * [6b588d1] stdnum/damm.py: Fix bug in damm.is_valid() function 2017-04-11 Arthur de Jong * [35542c1] ChangeLog, MANIFEST.in, NEWS, README, docs/index.rst, docs/stdnum.ar.cbu.rst, docs/stdnum.eu.eic.rst, docs/stdnum.eu.nace.rst, docs/stdnum.lei.rst, docs/stdnum.mc.tva.rst, docs/stdnum.rs.pib.rst, stdnum/__init__.py: Get files ready for 1.6 release 2017-04-10 Arthur de Jong * [93459d3] stdnum/cn/loc.dat, stdnum/eu/nace.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat: Update database files 2017-04-10 Arthur de Jong * [bb1712d] online_check/README, online_check/check.js, online_check/jquery-1.7.1.js, online_check/jquery-1.7.1.min.js, online_check/stdnum.wsgi, online_check/template.html: Add simple online check example This adds the code that is used to find formats for which a supplied number is valid. This is the code that is used on https://arthurdejong.org/python-stdnum/check/ 2017-04-10 Arthur de Jong * [5398247] stdnum/lei.py, tests/test_lei.doctest: Add Legal Entity Identifier 2017-04-10 Arthur de Jong * [e844b52] stdnum/iban.py, stdnum/iso7064/mod_97_10.py: Integrate base10 conversion into Mod 97, 10 This moves the conversion of an alphanumeric string to a numeric representation for modulo 97 calculation to the mod_97_10 module because this mechanism seems to be used by multiple formats. 2017-04-10 Arthur de Jong * [1b3d16e] stdnum/es/nie.py: Add missing export (__all__) 2017-04-10 Arthur de Jong * [72f5c6c] stdnum/rs/__init__.py, stdnum/rs/pib.py, tests/test_rs_pib.doctest: Add Serbian Poreski Identifikacioni Broj 2017-04-10 Arthur de Jong * [800205c] tox.ini: Print warnings during tox run 2017-04-07 Arthur de Jong * [7493eca] stdnum/cusip.py, stdnum/ean.py, stdnum/ec/ci.py, stdnum/isin.py, stdnum/tr/tckimlik.py: Use a slightly more readable weight alternation Switch to a slightly more readable syntax for alternating between two weights in checksums calculations. 2017-04-01 Arthur de Jong * [23b2150] stdnum/eu/eic.py, tests/test_eu_eic.doctest: Add European EIC (Energy Identification Code) 2017-03-26 Arthur de Jong * [194f025] stdnum/meid.py, tests/test_robustness.doctest: Add unicode robustness tests This tests a few unicode strings and fixes a bug in the MEID module. 2017-03-26 Arthur de Jong * [d43c394] stdnum/es/referenciacatastral.py, tests/test_es_referenciacatastral.doctest: Add test for Ñ in Referencia Catastral This supports the Referencia Catastral with an Ñ in it for both byte strings (Python 2) and unicode strings (Python 2 and 3). Support for literal unicode strings in Python 2 doctests is flaky so the test is a bit ugly. This also adds a few numbers that were found online. Sadly no real numbers with an Ñ in it have been found so the one in the test was constructed. 2017-03-26 Arthur de Jong * [61d73c1] getnace.py, stdnum/eu/nace.dat, stdnum/eu/nace.py, tests/test_robustness.doctest: Add European NACE classification This number is used to classify business. Validation is done based on a downloaded registry. 2017-03-26 Arthur de Jong * [649f073] stdnum/mc/tva.py: Remove unused import 2017-03-19 Arthur de Jong * [c957318] stdnum/fr/tva.py, stdnum/mc/__init__.py, stdnum/mc/tva.py, tests/test_eu_vat.doctest: Add support for Monaco VAT number The number uses the French TVA number but, unlike normal French VAT numbers, they are not valid French SIREN numbers. See https://github.com/arthurdejong/python-stdnum/issues/46 2016-12-11 Arthur de Jong * [5b43857] stdnum/au/tfn.py: Remove unused import 2016-12-01 Greg Kuwaye * [7d16ea5] stdnum/us/ein.dat: Add new 47 EIN prefix; fix duplicate 46; move 81 47 appears to be a new Internet campus code. Prefix 46 was listed twice, once under the Philadelphia campus and again under the Internet campus. This error may be seen on the IRS website itself. The Wikipedia article on EIN (https://en.wikipedia.org/wiki/Employer_Identification_Number) does not have 46 listed twice. 81 has moved from the Philadelphia campus to the Internet campus. 2016-11-14 Luciano Rossi * [dcde8f4] stdnum/ar/cbu.py, tests/test_ar_cbu.doctest: Implement CBU (unique bank code) of Argentina See https://github.com/arthurdejong/python-stdnum/issues/43 2016-11-14 Arthur de Jong * [da18e3b] setup.py, stdnum/fi/associationid.py, stdnum/meid.py, tests/test_mx_rfc.doctest, tox.ini: Add Python 2.6 support This also brings the list of Python versions in setup.py in line with tox.ini. 2016-11-13 Arthur de Jong * [62ebbce] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.au.abn.rst, docs/stdnum.au.acn.rst, docs/stdnum.au.tfn.rst, docs/stdnum.es.ccc.rst, docs/stdnum.es.cups.rst, docs/stdnum.es.iban.rst, docs/stdnum.es.referenciacatastral.rst, stdnum/__init__.py: Get files ready for 1.5 release 2016-11-13 Arthur de Jong * [c9beb00] stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat, tests/test_iban.doctest: Update database files This removes the Costa Rica IBAN test because the format of the IBAN seems to have been changed. The old length still seems to be in use so a more permanent solution is probably required. 2016-11-13 Arthur de Jong * [ac560a7] getisbn.py: Update getisbn to Python3 There were some SSL-related issues with the urllib module. This was the easiest solution. 2016-11-13 Arthur de Jong * [458c310] getiban.py: Update gettin IBAN registry The format of the registry file has changed. Before it was a straightforward CSV file with countries in rows but countries are now in columns. 2016-11-09 Sergi Almacellas Abellana * [45faa7c] .gitignore, tox.ini: Add tox.ini file 2016-11-08 Sergi Almacellas Abellana * [a9e5405] stdnum/eu/at_02.py: Implement calc_check_digits in SEPA Identifier of the Creditor (AT-02) 2016-10-14 Arthur de Jong * [8ea76ba] stdnum/au/tfn.py, tests/test_au_tfn.doctest: Add Australian Tax File Number Based on the implementation provided by Vincent Bastos See https://github.com/arthurdejong/python-stdnum/pull/40 2016-10-14 Arthur de Jong * [8028c3a] stdnum/au/acn.py, tests/test_au_acn.doctest: Add Australian Company Number Based on the implementation provided by Vincent Bastos See https://github.com/arthurdejong/python-stdnum/pull/40 2016-10-14 Arthur de Jong * [70b94ee] stdnum/au/__init__.py, stdnum/au/abn.py, tests/test_au_abn.doctest: Add Australian Business Number Based on the implementation provided by Vincent Bastos See https://github.com/arthurdejong/python-stdnum/pull/40 2016-10-14 Arthur de Jong * [d7cff5d] stdnum/be/__init__.py, stdnum/be/vat.py: Provide businessid as an alias The Belgian company number or enterprise number (ondernemingsnummer) is the new name for what was previously the VAT number. 2016-09-10 Arthur de Jong * [352aa8a] stdnum/es/referenciacatastral.py: Add reference to Referencia Catastral implementation 2016-09-03 Arthur de Jong * [49db553] tests/test_es_referenciacatastral.doctest: Add more tests for Referencia Catastral This adds a number of extra tests for the Spanish Referencia Catastral (stdnum.es.referenciacatastral) module, mostly based on numbers found online. This commit includes some of the documentation on the structure of Referencia Catastral that was in the original pull request. See https://github.com/arthurdejong/python-stdnum/pull/38 2016-08-31 David García Garzón * [2c557a0] stdnum/es/referenciacatastral.py: Add Spansih Referencia Catastral The control digit check algorithm is based on Javascript implementation by Vicente Sancho that can be found at http://trellat.es/validar-la-referencia-catastral-en-javascript/ See https://github.com/arthurdejong/python-stdnum/pull/38 2016-09-10 Arthur de Jong * [b128c8d] tests/test_iban.doctest: Test a few Spanish IBANs found online 2016-09-10 Arthur de Jong * [878e036] stdnum/numdb.py: Avoid leaving open file descriptor in test 2016-09-08 Arthur de Jong * [be24790] stdnum/es/iban.py, tests/test_iban.doctest: Add Spanish IBAN number module This validates the country-specific part of the IBAN. 2016-09-08 Arthur de Jong * [2510932] stdnum/iban.py: Validate country-specific part of IBAN This adds the possible of validating the country-specific part of the IBAN. If the country has an IBAN module, checking is also delegated to that module. 2016-09-06 Arthur de Jong * [d8cca82] stdnum/eu/vat.py, stdnum/util.py: Introduce get_cc_module() utility function This changes the get_vat_module() function to a more generic get_cc_module() function so that it can also be used for other things like IBAN checking. 2016-09-06 Arthur de Jong * [1622873] stdnum/es/ccc.py: Add to_iban() function to Spanish CCC 2016-09-08 Arthur de Jong * [7d969be] stdnum/iban.py: Implement calc_check_digits() in IBAN Introduce a function to calculate the two check digits of an IBAN. Since the check digits are the third and fourth characters in the number, placeholders need to be provided when calling this function. 2016-08-31 David García Garzón * [294f872] stdnum/es/ccc.py: Add Spanish Código Cuenta Corriente (CCC) 2016-08-28 David García Garzón * [466cec8] stdnum/es/cups.py, tests/test_es_cups.doctest: Add Spanish CUPS code 2016-08-28 Arthur de Jong * [d95382f] stdnum/exceptions.py: Properly print error message of exceptions This ensures that the message passed to the constructor is shown in the traceback while falling back to the class default. 2016-07-26 Arthur de Jong * [01a7f34] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.damm.rst, docs/stdnum.fr.nif.rst, docs/stdnum.fr.nir.rst, docs/stdnum.fr.siret.rst, docs/stdnum.gb.nhs.rst, docs/stdnum.tr.tckimlik.rst, stdnum/__init__.py: Get files ready for 1.4 release 2016-07-26 Arthur de Jong * [3e4e9e2] getmybp.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the getmybp script to support the new layout. 2016-07-26 Arthur de Jong * [3e344d1] stdnum/iso6346.py: Add formatting of ISO 6346 container codes 2016-07-26 Arthur de Jong * [aa1c298] getnumlist.py, stdnum/damm.py, tests/test_damm.doctest: Implement Damm algorithm This is a generic check digit algorithm. 2016-07-26 Arthur de Jong * [411d038] stdnum/fr/nif.py: Fix French NIF format test Fixes 2409ee9. 2016-07-26 Arthur de Jong * [06e4165] stdnum/ch/ssn.py: Improve validation to Swiss SSN number The EAN-13 number should start with 756. 2016-07-26 Arthur de Jong * [1907c67] stdnum/br/cpf.py: Add documentation to Brazillian CPF 2016-07-26 Arthur de Jong * [cf428ac] stdnum/iso6346.py: Add pointer to ISO 6346 information 2016-07-26 Arthur de Jong * [011c0f0] stdnum/gb/nhs.py: Fix copyright notice 2016-05-22 Dimitri Papadopoulos * [2409ee9] stdnum/fr/nif.py: Add NIF - French tax identification number Add module for NIF also known as SPI number. 2016-07-26 Arthur de Jong * [43b58d3] stdnum/fr/nir.py: Move NIR check digit calculation to function This also fixes a number of formatting issues, improves the module description and adds tests for the 2A and 2B departments. 2016-05-29 Dimitri Papadopoulos * [879f2d3] stdnum/fr/nir.py: Improve French NIR validation Please note that the 7th character of the NIR might be 'A' or 'B'. Other than that the NIR contains digits only. 2016-07-25 Arthur de Jong * [fd9f953] stdnum/fr/siren.py, stdnum/fr/siret.py, tests/test_fr_siren.doctest, tests/test_fr_siret.doctest: Add extra tests for SIREN and SIRET This adds tests for a few numbers that have been found online and allows the dot as a seprator because those numbers were found. It also ensures that the SIREN validation is also called for SIRET and adds a SIRET formatting function. 2016-05-27 Yoann Aubineau * [5ba3a87] stdnum/fr/siret.py: Add French SIRET number Add a SIRET (Système d'Identification du Répertoire des ETablissements, a French company etablishment identification number) module. 2016-05-29 Arthur de Jong * [dc708f0] stdnum/isil.py, tests/test_isil.doctest: Add more ISIL tests This moves a few of the tests from the module to a dedicated test file and adds tests for a number of ISIL numbers found online. 2016-05-29 Arthur de Jong * [4a57d84] stdnum/us/tin.py: Fix formatting of bulleted list 2016-05-28 Arthur de Jong * [9b74840] stdnum/ch/ssn.py, tests/test_ch_ssn.doctest: Fix bug in Swiss SSN validation The validation was delegated to the EAN module but the number is supposed to be an EAN-13 only and and EAN-8 was also accepted. This also reformats the docstring. 2016-05-28 Arthur de Jong * [f3c2491] stdnum/ie/vat.py, tests/test_ie_vat.doctest: Fix bug in Irish VAT number validation The last digits of the number that should be letters were not tested to be letters which could result in ValueError being raised for certain validations. This also clarifies the documentation and adds a convert() function to convert numbers from the old format (where the second character would be a letter or symbol) to the new format (7 digits followed by 1 or 2 letters). 2016-05-28 Arthur de Jong * [b5397ed] tests/test_robustness.doctest: Small improvements to tests This includes a formatting fix and removes an unused variable from a test. 2016-05-28 Arthur de Jong * [d85b27f] stdnum/util.py: Fix get_module_description() This fixes the initial implementation in 3f6d52a. 2016-05-22 Dimitri Papadopoulos * [a1afa76] stdnum/fr/nir.py: Add French NIR Add module for NIR also known as social security number. 2016-05-09 Arthur de Jong * [0a2f39e] stdnum/gb/nhs.py: Add United Kingdom NHS number Add module for United Kingdom National Health Service patient identifier. 2016-05-09 Arthur de Jong * [2126947] stdnum/numdb.py: Read numdb files in context manager This ensures that the file is explicitly closed in the function to avoid "unclosed file" warnings. See: https://github.com/arthurdejong/python-stdnum/issues/33 2016-04-11 Arthur de Jong * [e28b5e1] stdnum/ch/uid.py, stdnum/ch/vat.py, stdnum/cusip.py, stdnum/dk/cpr.py, stdnum/iban.py, stdnum/imei.py, stdnum/isbn.py, stdnum/isil.py, stdnum/isin.py, stdnum/issn.py, stdnum/mx/rfc.py, stdnum/nl/bsn.py, stdnum/nl/onderwijsnummer.py, stdnum/pl/regon.py, stdnum/tr/tckimlik.py, stdnum/us/ssn.py, stdnum/verhoeff.py: Make more information links consistent Also fix a docstring in stdnum.nl.bsn and add a pointer to stdnum.nl.onderwijsnummer. 2016-04-09 Arthur de Jong * [feab917] stdnum/eu/vat.py, stdnum/tr/tckimlik.py, stdnum/util.py: Implement online TC Kimlik check This refactors out the SOAP client function that was implemented for VIES to the stdnum.utils module. 2016-04-09 Arthur de Jong * [619b097] stdnum/tr/__init__.py, stdnum/tr/tckimlik.py, tests/test_tr_tckimlik.doctest: Add Turkish personal identification number 2016-04-01 Arthur de Jong * [095dcbb] stdnum/mx/rfc.py, tests/test_mx_rfc.doctest: Document accuracy of RFC check digit test There is an online service that allows validating RFC numbers. It seems there are a lot of numbers that do not match the check digit algorithm which confirms disabling the check digit test by default is a good idea. Also see https://github.com/arthurdejong/python-stdnum/issues/32 2016-03-05 Arthur de Jong * [41cecb5] ChangeLog, NEWS, getnumlist.py, setup.py, stdnum/__init__.py: Get files ready for 1.3 release 2016-03-03 Arthur de Jong * [6457734] getcnloc.py, getiban.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the getcnloc and getiban scripts to use new URLs. 2015-10-30 Arthur de Jong * [0061564] stdnum/dk/cpr.py, stdnum/iban.py, stdnum/imei.py, stdnum/isbn.py, stdnum/isil.py, stdnum/issn.py, stdnum/nl/bsn.py, stdnum/us/ssn.py, stdnum/verhoeff.py: Integrate information from the wiki This adds the information that was previously in the Trac wiki into the source docstrings because the Trac instance is being phased out. This also includes small updates to the ISIL module. 2015-10-28 Arthur de Jong * [96c8151] stdnum/eu/vat.py: Fix SOAP client re-use This fixes a bug when checking re-use of the global SOAP client object. The object could not be evaluated in boolean context so is no explicitly compared to None. For suds a MethodNotFound exception would be raised for __nonzero__() (which Python uses for boolean comparison). 2015-10-28 Lionel Elie Mamane * [2881b86] stdnum/eu/vat.py: Fix problem with check_vies_approx() 2015-10-15 Ronald Paloschi * [fb0efe0] stdnum/iso6346.py, tests/test_iso6346.doctest: Fix for when ISO 6346 checksum is 10 Bug fix for when the checksum is 10, it was compared to 0 and failed. New doctest exposing the bug that passes after the fix is applied. See: https://github.com/arthurdejong/python-stdnum/pull/30 2015-10-11 Arthur de Jong * [1361817] ChangeLog, MANIFEST.in, NEWS, README, docs/index.rst, docs/stdnum.at.businessid.rst, docs/stdnum.br.cnpj.rst, docs/stdnum.ch.uid.rst, docs/stdnum.ch.vat.rst, docs/stdnum.cusip.rst, docs/stdnum.de.wkn.rst, docs/stdnum.ee.ik.rst, docs/stdnum.fi.associationid.rst, docs/stdnum.fi.ytunnus.rst, docs/stdnum.gb.sedol.rst, docs/stdnum.imo.rst, docs/stdnum.isin.rst, docs/stdnum.mx.rfc.rst, docs/stdnum.pl.pesel.rst, docs/stdnum.pl.regon.rst, docs/stdnum.ru.inn.rst, setup.py, stdnum/__init__.py: Get files ready for 1.2 release 2015-10-11 Arthur de Jong * [1327045] getcnloc.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the script to download updated Chinese location names. 2015-10-11 Arthur de Jong * [a891c60] stdnum/al/nipt.py, stdnum/co/nit.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/imei.py, stdnum/isan.py, stdnum/iso6346.py, stdnum/it/codicefiscale.py, stdnum/meid.py, stdnum/nl/postcode.py, stdnum/numdb.py, stdnum/pt/nif.py, stdnum/us/atin.py, stdnum/us/ein.py, stdnum/us/itin.py, stdnum/us/ptin.py, stdnum/us/ssn.py, stdnum/util.py: Code style improvements Ensure that regular expressions are r'' strings, avoid too long lines and fix line wrapping. Also avoid catching toplevel Exception when possible and use binascii for hex to binary conversion which is available in both Python 2 and 3. 2015-10-11 Arthur de Jong * [3c7a302] stdnum/cusip.py, stdnum/de/wkn.py, stdnum/gb/sedol.py, stdnum/isin.py: Convert security ids to ISIN Allow conversion from national securities identifiers to the international ISIN. 2015-10-11 Arthur de Jong * [c565517] stdnum/de/wkn.py, tests/test_de_wkn.doctest: Add German Wertpapierkennnummer The format itself is pretty simple (no check digit) but this module is more for completeness sake. 2015-10-10 Arthur de Jong * [961815f] stdnum/gb/sedol.py, tests/test_gb_sedol.doctest: Add SEDOL number 2015-10-10 Arthur de Jong * [fb91775] stdnum/ru/__init__.py: Add information to Russian package 2015-10-10 Arthur de Jong * [ebb5c07] MANIFEST.in, stdnum/numdb.py, tests/numdb-test.dat: Move numdb test file This places the test database file in the tests directory. 2015-10-10 Arthur de Jong * [fa8099e] stdnum/imo.py: Add int. maritime org. number (IMO) This adds checks for the International Maritime Organization number used to identify ships. However, there seem to be a lot of ships with an IMO number that does not follow these rules (different check digits or even length). 2015-10-10 Arthur de Jong * [111b4fd] stdnum/isan.py, tests/test_isan.doctest: Fix handling of strip_check_digits in ISAN This fixes the compact() function to honor the strip_check_digits argument and does not validate the check digits if they are passed to validate together with strip_check_digits. 2015-10-10 Arthur de Jong * [9f9d13c] stdnum/isin.py, tests/test_isin.doctest: Add international securities id (ISIN) This adds support for handling ISINs (International Securities Identification Number). The can contain a CUSIP but performing this additional validation is currently not performed. 2015-10-09 Arthur de Jong * [522611c] stdnum/cusip.py, tests/test_cusip.doctest: Add CUSIP number 2015-10-08 Arthur de Jong * [320ecea] stdnum/ch/uid.py, stdnum/ch/vat.py, tests/test_ch_uid.doctest, tests/test_ch_vat.doctest: Add Swiss UID and VAT numbers The Swiss VAT number (MWST, TVA, IVA, TPV) is the UID (Unternehmens-Identifikationsnummer) followed by one of the VAT abbreviations. 2015-10-05 Arthur de Jong * [ec9bcb0] stdnum/mx/__init__.py, stdnum/mx/rfc.py, tests/test_mx_rfc.doctest: Add Mexican RFC number This adds support for the Mexican tax number RFC (Registro Federal de Contribuyentes). This module includes a number of checks on the number but the validation of the last check digit is disabled by default because a large number of numbers were found that were otherwise valid but had an invalid check digit. 2015-10-04 Arthur de Jong * [fd0cfd9] stdnum/eu/vat.py, stdnum/util.py: Move finding VAT module to util This moves the finding of a VAT module to the util module so that it can be more easily re-used for non-EU countries. 2015-10-04 Arthur de Jong * [38ed9c0] stdnum/co/nit.py, tests/test_co_nit.doctest: Update Colombian NIT checks This adds a number of tests for numbers found online. The length check has also been revisited because both shorter numbers and longer number have been found. This also updates the format() function to handle arbitrary length numbers. 2015-10-02 Arthur de Jong * [d413f95] stdnum/isbn.py: Fix comment 2015-10-02 Arthur de Jong * [3d1dbbb] stdnum/ar/cuit.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/co/nit.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/do/rnc.py, stdnum/ec/ruc.py, stdnum/ee/kmkr.py, stdnum/fi/alv.py, stdnum/gb/vat.py, stdnum/hu/anum.py, stdnum/is_/kennitala.py, stdnum/lv/pvn.py, stdnum/mt/vat.py, stdnum/no/orgnr.py, stdnum/pl/nip.py, stdnum/pl/pesel.py, stdnum/pl/regon.py, stdnum/ro/cf.py, stdnum/ro/cnp.py: Use zip() instead of enumerate() Makes the code slightly simpler and more compact. 2015-10-01 Sergio Isidoro * [222a87e] stdnum/fi/__init__.py: Add alias to hetu in for finnish personal id code 2015-09-27 Arthur de Jong * [e045c71] tests/test_eu_vat.doctest: Add more numbers found online 2015-09-07 Dariusz Choruzy * [36217ac] stdnum/pl/regon.py, tests/test_pl_regon.doctest: Add Polish REGON number 2015-09-06 Dariusz Choruzy * [a0cb61f] stdnum/pl/pesel.py: Add Polish PESEL number 2015-08-16 Arthur de Jong * [5ab8d24] stdnum/ru/__init__.py, stdnum/ru/inn.py, tests/test_ru_inn.doctest: Add Russioan ИНН (INN) tax ID This adds a basic implementation of the Russian Идентификационный номер налогоплательщика (tax identification number). This currently only checks the format, length and check digits but not whether each of the parts of the number are valid (e.g. valid region specified). 2015-08-16 Arthur de Jong * [714fa60] stdnum/br/cnpj.py, tests/test_br_cnpj.doctest: Add Brazillian CNPJ business identifier Add module for Cadastro Nacional da Pessoa Jurídica, the Brazillian company identifier. 2015-08-16 Arthur de Jong * [b939099] getiban.py, stdnum/iban.dat, tests/test_iban.doctest: Update IBAN tests This updates the iban.dat file from the IBAN registry, includes a fix for handling spaces in the BBAN and adds some more IBAN examples from the IBAN registry. 2015-08-16 Arthur de Jong * [7714db7] stdnum/iso9362.py: Make uppercase in compact() This changes the compact() function of the ISO 9362 module to make all the letters uppercase. 2015-08-16 Arthur de Jong * [6afa875] setup.cfg, stdnum/imei.py, stdnum/isbn.py, stdnum/isil.py, stdnum/ismn.py, stdnum/meid.py, stdnum/us/atin.py, stdnum/us/ein.py, stdnum/us/itin.py: Turn on and improve branch coverage 2015-08-16 Arthur de Jong * [e88ba0b] stdnum/dk/cpr.py, stdnum/is_/kennitala.py, stdnum/it/codicefiscale.py: Small typo and code style fixes 2015-08-03 Tomas Karasek * [243e50f] stdnum/ee/ik.py, tests/test_ee_ik.doctest: Add validation of Estonian personal ID 2015-06-12 Lari Haataja * [7f9c94f] stdnum/at/businessid.py: Add company register number validation for Austria 2015-07-12 Arthur de Jong * [0cbba6e] : Merge Finnish numbers provided by Holvi This merges the Finnish numbers provided by Holvi Payment Services Oy as found here: https://github.com/holvi/python-stdnum 2015-07-12 Arthur de Jong * [320326e] stdnum/fi/ytunnus.py: Split out format() function This uses the stdnum.fi.alv module more extensively and ensures that validate() returns a compact representation and a separate format() function is available. 2015-06-23 Lari Haataja * [37f7fa6] stdnum/fi/__init__.py, stdnum/fi/ytunnus.py: Add validation for Finnish y-tunnus (business identifier) 2015-07-12 Arthur de Jong * [db24746] stdnum/fi/associationid.py: Add a whitelist for short numbers and fix API This implements separate functions compact() and format() and fixes the doctests. This also implements a whitelist of registered short numbers to avoid accidentally validating just any number. 2015-06-16 Lari Haataja * [8d30992] stdnum/fi/associationid.py: Validation for Finnish association identifier 2015-07-12 Arthur de Jong * [e107457] : Merge changes to use CN Open Data 2015-07-12 Arthur de Jong * [a1a134e] stdnum/eu/vat.py: Fall back to pysimplesoap if suds is unavailable Initial testing seems to suggest that proxy-support is not complete with pysimplesoap (at least httplib2 and PySocks seem to be required). 2015-04-28 Lionel Elie Mamane * [8fe44f9] stdnum/eu/vat.py: Implement alternate VIES check Add a function to stdnum.eu.vat so that when one does a VIES VAT number check, one gets a proof (certificate) that one did the check, as defence against the VAT administration later putting this in doubt. This certificate is provided by the VIES service, if one provides one's own VAT number. 2015-06-08 Jiangge Zhang * [6308261] stdnum/cn/loc.dat: Download and generate latest Chinese location data. 2015-06-08 Jiangge Zhang * [12ba352] getcnloc.py: Download GB2260 data from github.com/cn. 2015-04-27 Arthur de Jong * [8925ae2] tests/test_iso6346.doctest: Fix copyright header 2015-04-27 Arthur de Jong * [58775d9] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.al.nipt.rst, docs/stdnum.ar.cuit.rst, docs/stdnum.cl.rut.rst, docs/stdnum.co.nit.rst, docs/stdnum.do.cedula.rst, docs/stdnum.do.rnc.rst, docs/stdnum.is_.kennitala.rst, docs/stdnum.is_.vsk.rst, docs/stdnum.iso9362.rst, docs/stdnum.no.mva.rst, docs/stdnum.no.orgnr.rst, docs/stdnum.se.orgnr.rst, docs/stdnum.sm.coe.rst, setup.py, stdnum/__init__.py: Get files ready for 1.1 release 2015-04-27 Arthur de Jong * [583b066] getcnloc.py, stdnum/cn/loc.dat, stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files This also updates the script to download updated Chinese location names. 2014-10-24 Tomas Thor Jonsson * [dd309e4] stdnum/se/orgnr.py, stdnum/se/vat.py: Add support for SE orgnr This also delegates some of the validation for the Swedish VAT module to the orgnr module. 2015-04-27 Arthur de Jong * [23882e2] tests/test_ec_ruc.doctest: Add extra tests for the stdnum.ec.ruc module These numbers were found in various online sources. 2015-04-25 Arthur de Jong * [eac4d63] stdnum/fr/tva.py: Add extra test for French TVA 2014-10-14 P. Christeas * [9934f76] stdnum/gr/vat.py: Change description of Greek FPA number In Greece, our VAT number is used as a generic "tax registration" num. Update the docstring to reflect that name. 2015-04-22 Arthur de Jong * [4d7163c] stdnum/ar/__init__.py, stdnum/ar/cuit.py, tests/test_ar_cuit.doctest: Add Argentinian CUIT (VAT) number Based partially on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [ba894d7] stdnum/sm/__init__.py, stdnum/sm/coe.py: Add San Marino COE (VAT) number Based partially on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [144e1a4] stdnum/co/__init__.py, stdnum/co/nit.py: Add Colombian NIT/RUT (VAT) code Based on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [c69c8f0] stdnum/cl/__init__.py, stdnum/cl/rut.py, tests/test_cl_rut.doctest: Add Chilean national tax number (RUT) Based on the implementation in the vatnumber module. 2015-04-18 Arthur de Jong * [3db826c] stdnum/al/__init__.py, stdnum/al/nipt.py, tests/test_al_nipt.doctest: Add Albanian NIPT (VAT) number Partially based on the implementation in the vatnumber module. Some valid numbers appear to start with an L so those are allowed as well. 2015-04-23 Arthur de Jong * [88d1af3] stdnum/do/cedula.py: Extend the list of valid Cedula This is based on the list of Cedula found at http://prd.org.do/2013/07/30/lista-del-cen-del-prd-actualizada-y-registrada-en-la-junta-central-electoral/ (link provided by José Arturo García) 2015-04-17 Arthur de Jong * [49d1e69] stdnum/do/cedula.py, tests/test_do_cedula.doctest: Add Dominican Republic Cedula number The Cedule is a Dominican Republic national identification number for persons. The number uses the Luhn checksum but apparently there are a lof of valid numbers in use that do not match the checksum. For this a whitelist is used. 2015-04-17 Arthur de Jong * [d003ac3] stdnum/do/__init__.py, stdnum/do/rnc.py, tests/test_do_rnc.doctest: Add Dominican Republic RNC number The RNC (Registro Nacional del Contribuyente) is the Dominican Republic taxpayer registration number for companies. 2015-04-19 Arthur de Jong * [9e94ab8] tests/test_no_mva.doctest: Add more stdnum.no.mva tests 2015-04-18 Arthur de Jong * [c334bcf] stdnum/is_/kennitala.py, tests/test_is_kennitala.doctest: Add more tests for Kennitala 2015-04-11 Tuomas Toivonen * [84620f8] stdnum/is_/__init__.py, stdnum/is_/kennitala.py, stdnum/is_/vsk.py: Support Icelandic personal, organisation and VAT identifiers The package is named "is_" because "is" is a reserved word. 2015-04-11 Tuomas Toivonen * [699b340] stdnum/no/__init__.py, stdnum/no/mva.py, stdnum/no/orgnr.py: Add support for Norwegian organisation and VAT numbers This commit also includes changes from Tomas Thor Jonsson . 2015-02-09 Tony Bajan * [75bcef0] stdnum/iso9362.py: Add ISO 9362 (BIC) support 2015-04-17 Arthur de Jong * [2574f89] stdnum/imsi.py: Raise InvalidComponent for unregistered IMSI 2014-12-23 Emiliano Castro * [9883c72] stdnum/eu/vat.py, stdnum/hr/__init__.py: Adding HR (Croatia) to the list of available countries 2014-11-01 Arthur de Jong * [3a7c9f7] stdnum/bg/vat.py, stdnum/eu/at_02.py, stdnum/iban.py, stdnum/isan.py, stdnum/meid.py, stdnum/numdb.py: Fix common spelling mistake 2014-10-31 Matt McDonald * [6e332b1] stdnum/meid.py, tests/test_meid.doctest: Fix for invalidating MEIDs with invalid decimal bit length See: http://arthurdejong.org/trac/python-stdnum/ticket/10 2014-10-20 Arthur de Jong * [3fa795d] getnumlist.py: Restore section for on homepage 2014-10-19 Arthur de Jong * [147eeb1] ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.ch.ssn.rst, docs/stdnum.cn.ric.rst, docs/stdnum.ec.ci.rst, docs/stdnum.ec.ruc.rst, docs/stdnum.eu.at_02.rst, docs/stdnum.iso6346.rst, docs/stdnum.it.codicefiscale.rst, docs/stdnum.us.rtn.rst, getnumlist.py, setup.py, stdnum/__init__.py: Get files ready for 1.0 release 2014-10-19 Arthur de Jong * [72c0ff1] stdnum/iso6346.py: Remove unused import 2014-10-19 Arthur de Jong * [e713cc7] stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files 2014-10-13 Denis Krienbühl * [256aa49] stdnum/ch/__init__.py, stdnum/ch/ssn.py: Adds the Swiss social security number Also known as "Sozialversicherungsnummer" / "Neue AHV Nummer". 2014-10-18 Arthur de Jong * [2cc50e2] stdnum/eu/at_02.py, stdnum/iban.py, stdnum/imei.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/luhn.py, stdnum/util.py, stdnum/verhoeff.py: Only catch Exception 2014-10-17 Arthur de Jong * [e2948bb] : Add Ecuadorian CI and RUC numbers Add modules for Ecuadorian Identification Card (CI - Cédula de identidad) and Fiscal Numbers (RUC - Registro Único de Contribuyentes) See: https://github.com/arthurdejong/python-stdnum/pull/12 2014-10-17 Arthur de Jong * [e5250be] stdnum/ec/ci.py, stdnum/ec/ruc.py, tests/test_ec_ci.doctest, tests/test_ec_ruc.doctest: Validate parts of numbers This raises exceptions when the provice or establishment number part of the number contains invalid values. 2014-10-17 Arthur de Jong * [10a044f] stdnum/ec/ci.py, stdnum/ec/ruc.py: Refactor checksum functions Use the CI checks from within the RUC module for natural RUC numbers (thereby eliminating a bug in the RUC checksum calculation) and simplify the checksum functions. 2014-10-17 Arthur de Jong * [f61b855] stdnum/ec/ci.py, stdnum/ec/ruc.py, tests/test_ec_ci.doctest, tests/test_ec_ruc.doctest: Use dedicated doctests This moves a number of the existing test cases to dedicated doctest files and extend the tests with more numbers and corner cases. This also fixes a few docstrings. 2014-10-12 Jonathan Finlay * [e8f1ca6] stdnum/ec/__init__.py, stdnum/ec/ci.py, stdnum/ec/ruc.py: Add Ecuadorian CI and RUC numbers Add modules for Ecuadorian Identification Card (CI - Cédula de identidad) and Fiscal Numbers (RUC - Registro Único de Contribuyentes) 2014-10-06 Arthur de Jong * [2700b7a] : Add Chinese Resident Identity Card Number 2014-10-06 Jiangge Zhang * [141d576] stdnum/cn/ric.py, tests/test_cn_ric.doctest: Support the Resident Identity Card Number of People's Republic China 2014-10-05 Jiangge Zhang * [10ae548] getcnloc.py, stdnum/cn/loc.dat: Download locations from the China (PRC) government site 2014-10-05 Jiangge Zhang * [e9eb546] stdnum/cn/__init__.py: Add stdnum.cn package for Chinese (PRC) numbers 2014-10-05 Arthur de Jong * [97ac94d] stdnum/my/nric.py, tests/test_my_nric.doctest: Update NRIC tests 2014-10-05 Arthur de Jong * [123e9cb] getmybp.py, stdnum/my/bp.dat: Update URLs for Malaysian code lists This updates the URLs for the state and country codes as published by the National Registration Department of Malaysia and changes the parsing to the new page layout. This also updates the data file. https://github.com/arthurdejong/python-stdnum/issues/14 2014-09-01 Tony Bajan * [86f60a2] stdnum/us/rtn.py: Add US bank routing transit numbers 2014-07-05 Arthur de Jong * [fbb0316] getisbn.py: Use ElementTree for simpler XML parsing 2014-07-05 Arthur de Jong * [03e4f97] getisbn.py, stdnum/isbn.dat: Fix getisbn script and update ISBN data file 2014-04-11 Arthur de Jong * [26517fe] getnumlist.py, stdnum/__init__.py: Improve package docstring formatting and show example 2014-03-18 Sharoon Thomas * [85dd6f2] stdnum/iso6346.py, tests/test_iso6346.doctest: Add support for ISO6346 Add validation and creation of check digit for ISO6346 codes. See: https://github.com/arthurdejong/python-stdnum/pull/9 2014-03-05 Jussi Räsänen * [2405c89] stdnum/eu/vat.py: Added a simple backwards compability check 2014-02-17 Arthur de Jong * [a4012f5] stdnum/ie/pps.py, stdnum/ie/vat.py, tests/test_eu_vat.doctest: Add support for 2013 extension of Irish PPS Numbers References: - https://www.welfare.ie/en/Pages/PPSN.aspx - http://www.citizensinformation.ie/en/social_welfare/irish_social_welfare_system/personal_public_service_number.html 2014-02-06 Arthur de Jong * [71d9837] stdnum/eu/at_02.py: Rename AT-02 module to stdnum.eu.at_02 2014-02-05 Sergi Almacellas Abellana * [099078e] stdnum/at_02.py: Add SEPA Creditor identifier (AT-02) 2014-02-02 Arthur de Jong * [1ac00a0] stdnum/it/codicefiscale.py, tests/test_it_codicefiscale.doctest: Add an Italian Codice Fiscale module This module validates 16 digit Italian tax codes for individuals. https://en.wikipedia.org/wiki/Italian_fiscal_code_card It is based on the pycodicefiscale module that can be found here: https://github.com/baxeico/pycodicefiscale Functions have been renamed to follow the stdnum naming scheme: isvalid() -> is_valid(), control_code -> calc_check_digit(), get_birthday() -> get_birth_date(), get_sex() -> get_gender(). The build() function for generating tax codes (based on name, birth place and date) has been left out because this number cannot be uniquely constructed with this information alone (numbers are issued by the Italian tax office with a mechanism handle duplicates). Addresses trac ticket #9. 2014-01-01 Arthur de Jong * [c3d669c] setup.py: Remove requirement on distribute This accidentally slipped into 907e410. 2013-12-31 Arthur de Jong * [d933aab] .gitignore, ChangeLog, NEWS, README, docs/index.rst, docs/stdnum.my.nric.rst, docs/stdnum.nl.brin.rst, docs/stdnum.nl.postcode.rst, docs/stdnum.us.atin.rst, docs/stdnum.us.ein.rst, docs/stdnum.us.itin.rst, docs/stdnum.us.ptin.rst, docs/stdnum.us.tin.rst, getiban.py, getimsi.py, stdnum/__init__.py: Get files ready for 0.9 release 2013-12-31 Arthur de Jong * [5c1765e] stdnum/iban.dat, stdnum/isbn.dat: Update database files 2013-12-31 Arthur de Jong * [4217c35] stdnum/isan.py, stdnum/meid.py, stdnum/util.py: Add pragma: no cover for Python 3 Some statements are not covered in Python 3 tests. 2013-12-31 Arthur de Jong * [6c49ca8] getiban.py: Update getiban script This switches to use the csv module to support multi-line column values. This also handles some problems in the BBAN structure column that would contain an IBAN structure. 2013-12-31 Arthur de Jong * [0ee74e5] ChangeLog: Generate Changelog with different formatter git log --date=short --name-only \ --format="%x0c%ad %aN <%aE>%n%n%x09* [%h]%x00%s%n%x00%+b%x00" | \ awk 'BEGIN { RS="\f"; FS="\0" } { if ($1) { gsub(/\n*$/, "", $4); gsub(/^\n*/, "", $4); gsub(/\n/, ", ", $4); gsub(/\ngit-svn-id.*/, "", $3); gsub(/\n/, "\n\t ", $3); print $1 " " $4 ": "; print "\t " $2 $3 }}' | \ fmt --width=78 -c > ChangeLog 2013-12-30 Cédric Krier * [a148835] stdnum/gb/vat.py, tests/test_gb_vat.doctest: Add some new VAT numbers for GB Add support for restarting from November 2009 using 9755. Add support for EU format of health authorities See: https://github.com/arthurdejong/python-stdnum/pull/4 2013-12-12 eneq123 * [4609a22] getimsi.py, stdnum/imsi.dat: Update parsing in getimsi script This updates the regexes and includes seom optimizations. See: https://github.com/arthurdejong/python-stdnum/issues/1 2013-12-30 Cédric Krier * [9ec3cb0] stdnum/eu/vat.py: Add support for proxy 2013-12-04 Arthur de Jong * [7f30979] getimsi.py, stdnum/imsi.dat: Update getimsi script This updates the script due to the Wikipedia article change and removes the code for getting the data from ITU for now. See: https://github.com/arthurdejong/python-stdnum/issues/1 2013-11-09 Arthur de Jong * [b0c47d5] stdnum/nl/__init__.py, stdnum/nl/postcode.py: Add a Dutch postal code module The Dutch postal code (postcode) consists of four digits followed by two characters and together with the house number should uniquely identify any address. Addresses trac ticket #7. 2013-11-09 Arthur de Jong * [73d05b0] stdnum/nl/brin.py: Add a Dutch Brin number module The Brin (Basis Registratie Instellingen) is a number to identify schools and related institutions. Addresses trac ticket #6. 2013-11-09 Arthur de Jong * [73330a1] stdnum/nl/onderwijsnummer.py: Clarify onderwijsnummer description 2013-11-09 Arthur de Jong * [188d3ea] : Add various United States Tax number modules This adds modules for the Individual Taxpayer Identification Number (ITIN), the Employer Identification Number (EIN), Adoption Taxpayer Identification Number (ATIN) and Preparer Tax Identification Number (PTIN) that together with the Social Security Number (SSN) are valid Taxpayer Identification Numbers (TIN) 2013-10-12 Arthur de Jong * [9530635] stdnum/us/tin.py: Add a United States TIN module The Taxpayer Identification Number is used used for tax purposes in the United States. This module uses the SSN, ITIN, EIN, PTIN and ATIN modules to determine validitiy of the TIN. 2013-10-11 Arthur de Jong * [316e3f2] stdnum/us/ptin.py: Add a United States PTIN module A Preparer Tax Identification Number (PTIN) is United States identification number for tax return preparers. It is an eight-digit number prefixed with a capital P. 2013-10-11 Arthur de Jong * [47ea6ea] stdnum/us/atin.py: Add a United States ATIN module An Adoption Taxpayer Identification Number (ATIN) is a temporary nine-digit number issued by the United States IRS for a child for whom the adopting parents cannot obtain a Social Security Number. 2013-10-11 Arthur de Jong * [b1c9ba5] stdnum/us/ein.dat, stdnum/us/ein.py: Add a United States EIN module The Employer Identification Number (EIN), also known as Federal Employer Identification Number (FEIN), is used to identify a business entity in the United States. It is issued to anyone that has to pay withholding taxes on employees. 2013-10-11 Arthur de Jong * [19039f7] stdnum/us/itin.py: Add a United States ITIN module The ITIN (Individual Taxpayer Identification Number) is issued by the United States IRS to individuals who are required to have a taxpayer identification number but who are not eligible to obtain a Social Security Number. 2013-10-11 Arthur de Jong * [70b974b] stdnum/meid.py: Remove unused import 2013-11-08 Arthur de Jong * [f122c88] stdnum/util.py: Try to replace Unicode characters with ASCII This changes the stdnum.util.clean() method that is used by all modules to replace alternative Unicode dashes, dots, etc. by their ASCII equivalent so the numbers will be automatically converted and validated. Inspiration for this change came from https://github.com/JNRowe/pyisbn/pull/6 2013-06-14 Arthur de Jong * [c042f02] ChangeLog, NEWS, stdnum/__init__.py: Get files ready for 0.8.1 release 2013-06-14 Arthur de Jong * [31e5e81] MANIFEST.in, setup.py: Ensure that all used files are included in the sdist 2013-06-09 Arthur de Jong * [7fa9822] ChangeLog, NEWS, README, docs/index.rst, getnumlist.py, setup.py, stdnum/__init__.py: Get files ready for 0.8 release 2013-06-09 Arthur de Jong * [9597010] stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: Update database files We manually tweak the Finland IBAN entry. We should probably change the parsing so that it uses the IBAN structure instead of the BBAN structure. 2013-06-09 Arthur de Jong * [19cbb3c] stdnum/my/nric.py: Fix NRIC module description 2013-06-08 Arthur de Jong * [46a7996] getmybp.py, stdnum/my/__init__.py, stdnum/my/bp.dat, stdnum/my/nric.py, tests/test_my_nric.doctest: Add a Malaysian NRIC No. module NRIC No. (National Registration Identity Card Number) is the unique identifier for issued to Malaysian citizens and permanent residents. 2013-06-08 Arthur de Jong * [999f2c3] : Provide a validate() function in all modules This provides an additional means of doing number validation that allows applications calling this library to get more information about why the validation failed and present more informative messages to the user. This introduces a collection of exceptions which will be raised by the validate() function in each module. All modules have been updated to provide this new function. 2013-05-22 Arthur de Jong * [cb69921] README, docs/index.rst, docs/stdnum.exceptions.rst: Document the validate() function and exceptions 2013-05-18 Arthur de Jong * [e00744c] stdnum/util.py: Use validate() in stdnum.util 2013-05-17 Arthur de Jong * [3d3a97d] stdnum/us/ssn.py: Implement validate() for U.S. Social Security Number 2013-05-17 Arthur de Jong * [4bfce3f] stdnum/eu/vat.py, tests/test_eu_vat.doctest: Implement validate() for European VAT numbers 2013-05-17 Arthur de Jong * [1aaf902] stdnum/sk/dph.py, stdnum/sk/rc.py: Implement validate() for Slovak numbers 2013-05-17 Arthur de Jong * [8982d1e] stdnum/si/ddv.py: Implement validate() for Slovenian VAT numbers 2013-05-17 Arthur de Jong * [522a599] stdnum/se/vat.py: Implement validate() for Swedish VAT numbers 2013-05-17 Arthur de Jong * [8e7d807] stdnum/pt/nif.py: Implement validate() for Portuguese VAT numbers 2013-05-17 Arthur de Jong * [7e865db] stdnum/pl/nip.py: Implement validate() for Polish numbers 2013-05-17 Arthur de Jong * [96c5080] stdnum/mt/vat.py: Implement validate() for Maltese numbers 2013-05-17 Arthur de Jong * [2ff4950] stdnum/lv/pvn.py: Implement validate() for Latvian numbers 2013-05-17 Arthur de Jong * [9845b0a] stdnum/lu/tva.py: Implement validate() for Luxembourgian numbers 2013-05-17 Arthur de Jong * [04cfb84] stdnum/lt/pvm.py: Implement validate() for Lithuanian numbers 2013-05-17 Arthur de Jong * [b1d5a72] stdnum/it/iva.py: Implement validate() for Italian numbers 2013-05-17 Arthur de Jong * [083993b] stdnum/ie/pps.py, stdnum/ie/vat.py: Implement validate() for Irish numbers 2013-05-17 Arthur de Jong * [301ba25] stdnum/hu/anum.py: Implement validate() for Hungarian numbers 2013-05-17 Arthur de Jong * [31f2684] stdnum/hr/oib.py: Implement validate() for Croatian numbers 2013-05-17 Arthur de Jong * [1932f69] stdnum/gr/vat.py: Implement validate() for Greek numbers 2013-05-17 Arthur de Jong * [10710dc] stdnum/gb/vat.py, tests/test_gb_vat.doctest: Implement validate() for United Kingdom numbers 2013-05-17 Arthur de Jong * [4753c09] stdnum/fi/alv.py, stdnum/fi/hetu.py, tests/test_fi_hetu.doctest: Implement validate() for Finnish numbers 2013-05-17 Arthur de Jong * [2259cbb] stdnum/es/cif.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py: Implement validate() for Spanish numbers 2013-05-17 Arthur de Jong * [07c66e1] stdnum/ee/kmkr.py: Implement validate() for Estonian numbers 2013-05-17 Arthur de Jong * [8caecc5] stdnum/dk/cpr.py, stdnum/dk/cvr.py: Implement validate() for Danish numbers 2013-05-17 Arthur de Jong * [360480b] stdnum/de/vat.py: Implement validate() for German numbers 2013-05-17 Arthur de Jong * [fce6196] stdnum/cy/vat.py: Implement validate() for Cypriot numbers 2013-05-17 Arthur de Jong * [14e382f] stdnum/cz/dic.py, stdnum/cz/rc.py: Implement validate() for Czech numbers 2013-05-17 Arthur de Jong * [54ce2d7] stdnum/br/cpf.py: Implement validate() for Brazillian numbers 2013-05-17 Arthur de Jong * [6080907] stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, tests/test_bg_vat.doctest: Implement validate() for Bulgarian numbers 2013-05-17 Arthur de Jong * [33ce4e9] stdnum/be/vat.py: Implement validate() for Belgian numbers 2013-05-17 Arthur de Jong * [66d6259] stdnum/at/uid.py: Implement validate() for Austrian numbers 2013-05-11 Arthur de Jong * [05547a4] stdnum/ro/cf.py, stdnum/ro/cnp.py: Implement validate() for Romanian numbers 2013-05-17 Arthur de Jong * [fc1432c] stdnum/fr/siren.py, stdnum/fr/tva.py: Implement validate() for French numbers 2013-05-05 Arthur de Jong * [62cafb4] stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py: Implement validate() for Dutch numbers 2013-05-04 Arthur de Jong * [cf88e23] stdnum/meid.py, tests/test_meid.doctest: Implement validate() for MEID 2013-05-04 Arthur de Jong * [c6f41f6] stdnum/issn.py: Implement validate() for ISSN 2013-05-04 Arthur de Jong * [21f07b3] stdnum/ismn.py, tests/test_ismn.doctest: Implement validate() for ISMN 2013-05-04 Arthur de Jong * [c07609f] stdnum/isil.py: Implement validate() for ISIL 2013-05-04 Arthur de Jong * [a18f1ac] stdnum/isan.py, tests/test_isan.doctest: Implement validate() for ISAN 2013-05-01 Arthur de Jong * [3ac8164] stdnum/iban.py: Implement validate() for IBAN 2013-05-03 Arthur de Jong * [12bd684] stdnum/grid.py: Implement validate() for GRid numbers 2013-05-04 Arthur de Jong * [9cee495] stdnum/imsi.py: Implement validate() for IMSI 2013-05-04 Arthur de Jong * [6e4bb71] stdnum/imei.py, tests/test_imei.doctest: Implement validate() for IMEI numbers 2013-05-04 Arthur de Jong * [efa2550] stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, tests/test_iso7064.doctest: Implement validate() for ISO 7064 algorithms 2013-05-03 Arthur de Jong * [5c9090b] stdnum/verhoeff.py, tests/test_verhoeff.doctest: Implement validate() for the Verhoeff checksum 2013-05-03 Arthur de Jong * [9ad5139] stdnum/luhn.py, tests/test_luhn.doctest: Implement validate() for the Luhn algorithms 2013-05-03 Arthur de Jong * [9580046] stdnum/isbn.py, tests/test_isbn.doctest: Implement validate() for ISBN 2013-05-03 Arthur de Jong * [fa1864f] stdnum/ean.py, tests/test_ean.doctest: Implement validate() for EAN 2013-06-07 Arthur de Jong * [8b9ef8f] stdnum/util.py: Raise a proper exception if cleaning fails 2013-06-07 Arthur de Jong * [1ac5437] setup.cfg, stdnum/exceptions.py: Provide a module with validation exceptions This introduces a new module for switching the validation scheme. Instead of using the is_valid() function that returns a boolean a validate() function either returns the sanitised number or raises an exception that should indicate the kind of validation failure. This should make it easier for applications calling this library to present more informative messages to the user. 2013-06-07 Arthur de Jong * [99586c9] stdnum/__init__.py, stdnum/de/vat.py, stdnum/nl/bsn.py, stdnum/util.py: Revert generating stdnum docstring dynamically Generating the docstring dynamically results in all stdnum modules being imported for every import from any stdnum module which is a performance hit. So we switch back to a manually generated list, using: from stdnum.util import get_module_list print '\n'.join(get_module_list()) This also shortens a few short descriptions to attempt to fit things on one line. 2013-06-07 Arthur de Jong * [a655e82] docs/conf.py, docs/index.rst: Documentation consistency improvements 2013-06-07 Arthur de Jong * [37a2afd] tests/test_iso7064.doctest: The robustness test were moved to the general tests 2013-06-07 Arthur de Jong * [90b7c4a] stdnum/numdb.py: Remove empty line 2013-06-07 Arthur de Jong * [bcb0a0b] stdnum/grid.py: GRid's format() function shouldn't have add_check_digit parameter 2013-04-26 Arthur de Jong * [2d956eb] stdnum/util.py: Use a cleaner way to get all stdnum modules This mechanism should work from Python 2.6 up to and including Python 3.3. 2013-04-26 Arthur de Jong * [30c832f] stdnum/numdb.py: Fix doctest to not be dependant on dict ordering 2013-04-26 Arthur de Jong * [51a55be] .gitignore: Add a .gitignore file 2012-09-22 Arthur de Jong * [3f6d52a] stdnum/__init__.py, stdnum/util.py: generate part of the stdnum docstring based on introspection of the modules 2012-06-16 Arthur de Jong * [af7e837] : set svn:ignore properly 2012-02-26 Arthur de Jong * [8f2e44c] stdnum/bg/egn.py, stdnum/cz/rc.py, stdnum/dk/cpr.py, stdnum/fi/hetu.py, stdnum/isan.py, stdnum/lv/pvn.py, stdnum/meid.py, stdnum/ro/cnp.py, tests/test_isan.doctest, tests/test_ismn.doctest, tests/test_robustness.doctest: re-add Python3 support 2012-02-26 Arthur de Jong * [3325052] ChangeLog, NEWS, stdnum/__init__.py: get files ready for 0.7 release 2012-02-26 Arthur de Jong * [a3ba206] stdnum/iban.dat, stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: update data files 2012-02-26 Arthur de Jong * [c240eff] getnumlist.py: also generate a list of modules for use in the Spinx documentation 2012-02-26 Arthur de Jong * [54b0f47] README, getnumlist.py, stdnum/__init__.py: use a script to generate the list of number formats in stdnum 2012-02-26 Arthur de Jong * [dada6a4] stdnum/eu/vat.py, stdnum/gb/vat.py, stdnum/gr/vat.py, stdnum/grid.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/ie/vat.py, stdnum/imei.py, stdnum/isan.py, stdnum/iso7064/__init__.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/lt/pvm.py, stdnum/luhn.py, stdnum/meid.py, stdnum/verhoeff.py: some more documentation improvements 2012-02-26 Arthur de Jong * [13218a0] setup.py: make script executable 2012-02-26 Arthur de Jong * [c2f0ea2] stdnum/fr/siren.py: add a to_vta() function to the stdnum.fr.siren module 2012-02-26 Arthur de Jong * [902a656] stdnum/__init__.py, stdnum/at/uid.py, stdnum/be/vat.py, stdnum/bg/egn.py, stdnum/bg/pnf.py, stdnum/bg/vat.py, stdnum/br/cpf.py, stdnum/cy/vat.py, stdnum/cz/dic.py, stdnum/cz/rc.py, stdnum/de/vat.py, stdnum/dk/cpr.py, stdnum/dk/cvr.py, stdnum/ean.py, stdnum/ee/kmkr.py, stdnum/es/cif.py, stdnum/es/dni.py, stdnum/es/nie.py, stdnum/es/nif.py, stdnum/eu/vat.py, stdnum/fi/alv.py, stdnum/fi/hetu.py, stdnum/fr/siren.py, stdnum/fr/tva.py, stdnum/gb/vat.py, stdnum/gr/vat.py, stdnum/grid.py, stdnum/hr/oib.py, stdnum/hu/anum.py, stdnum/iban.py, stdnum/ie/pps.py, stdnum/ie/vat.py, stdnum/imei.py, stdnum/imsi.py, stdnum/isan.py, stdnum/isbn.py, stdnum/isil.py, stdnum/ismn.py, stdnum/iso7064/__init__.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/issn.py, stdnum/it/iva.py, stdnum/lt/pvm.py, stdnum/lu/tva.py, stdnum/luhn.py, stdnum/lv/pvn.py, stdnum/meid.py, stdnum/mt/vat.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/numdb.py, stdnum/pl/nip.py, stdnum/pt/nif.py, stdnum/ro/cf.py, stdnum/ro/cnp.py, stdnum/se/vat.py, stdnum/si/ddv.py, stdnum/sk/dph.py, stdnum/sk/rc.py, stdnum/us/ssn.py, stdnum/util.py, stdnum/verhoeff.py: ensure that the module docstrings are in a somewhat more usable format 2012-02-25 Arthur de Jong * [907e410] setup.py: add the optional dependency on suds for the stdnum.eu.vat.check_vies() function 2012-02-24 Arthur de Jong * [ae9268b] stdnum/cz/rc.py: make the get_birth_date() function publically available 2012-02-24 Arthur de Jong * [4dfc8d7] docs/_templates/autosummary/module.rst, docs/conf.py, docs/index.rst, docs/stdnum.at.uid.rst, docs/stdnum.be.vat.rst, docs/stdnum.bg.egn.rst, docs/stdnum.bg.pnf.rst, docs/stdnum.bg.vat.rst, docs/stdnum.br.cpf.rst, docs/stdnum.cy.vat.rst, docs/stdnum.cz.dic.rst, docs/stdnum.cz.rc.rst, docs/stdnum.de.vat.rst, docs/stdnum.dk.cpr.rst, docs/stdnum.dk.cvr.rst, docs/stdnum.ean.rst, docs/stdnum.ee.kmkr.rst, docs/stdnum.es.cif.rst, docs/stdnum.es.dni.rst, docs/stdnum.es.nie.rst, docs/stdnum.es.nif.rst, docs/stdnum.eu.vat.rst, docs/stdnum.fi.alv.rst, docs/stdnum.fi.hetu.rst, docs/stdnum.fr.siren.rst, docs/stdnum.fr.tva.rst, docs/stdnum.gb.vat.rst, docs/stdnum.gr.vat.rst, docs/stdnum.grid.rst, docs/stdnum.hr.oib.rst, docs/stdnum.hu.anum.rst, docs/stdnum.iban.rst, docs/stdnum.ie.pps.rst, docs/stdnum.ie.vat.rst, docs/stdnum.imei.rst, docs/stdnum.imsi.rst, docs/stdnum.isan.rst, docs/stdnum.isbn.rst, docs/stdnum.isil.rst, docs/stdnum.ismn.rst, docs/stdnum.iso7064.rst, docs/stdnum.issn.rst, docs/stdnum.it.iva.rst, docs/stdnum.lt.pvm.rst, docs/stdnum.lu.tva.rst, docs/stdnum.luhn.rst, docs/stdnum.lv.pvn.rst, docs/stdnum.meid.rst, docs/stdnum.mt.vat.rst, docs/stdnum.nl.bsn.rst, docs/stdnum.nl.btw.rst, docs/stdnum.nl.onderwijsnummer.rst, docs/stdnum.pl.nip.rst, docs/stdnum.pt.nif.rst, docs/stdnum.ro.cf.rst, docs/stdnum.ro.cnp.rst, docs/stdnum.se.vat.rst, docs/stdnum.si.ddv.rst, docs/stdnum.sk.dph.rst, docs/stdnum.sk.rc.rst, docs/stdnum.us.ssn.rst, docs/stdnum.verhoeff.rst, setup.cfg: generate documentation using Sphinx 2012-02-23 Arthur de Jong * [093b1a1] README, stdnum/__init__.py, stdnum/dk/cpr.py: add a CPR (personnummer, the Danish citizen number) module 2012-02-23 Arthur de Jong * [89e4d78] README, stdnum/__init__.py, stdnum/ie/pps.py: add a PPS No (Personal Public Service Number, Irish personal number) module 2012-02-22 Arthur de Jong * [3a9c407] README, stdnum/__init__.py, stdnum/hr/__init__.py, stdnum/hr/oib.py: add an OIB (Osobni identifikacijski broj, Croatian personal identification number) module 2012-02-20 Arthur de Jong * [680b7d1] numdb-test.dat, stdnum/numdb.py: rename numdb test file 2012-02-20 Arthur de Jong * [68f62bf] stdnum/eu/vat.py: add a stdnum.eu.vat.check_vies() function to do an on-line check of the VAT number 2012-02-19 Arthur de Jong * [e640e3b] stdnum/iban.py, stdnum/numdb.py: add "pragma: no cover" statements to code that isn't expected to be covered 2012-02-19 Arthur de Jong * [b561d59] README, stdnum/__init__.py, stdnum/eu/__init__.py, stdnum/eu/vat.py, tests/test_eu_vat.doctest: add a VAT (European Union VAT number) module 2012-02-19 Arthur de Jong * [61af19d] README, stdnum/__init__.py: make number description consistent 2012-02-19 Arthur de Jong * [eeb5c61] stdnum/at/__init__.py, stdnum/cz/__init__.py, stdnum/dk/__init__.py, stdnum/ee/__init__.py, stdnum/es/__init__.py, stdnum/fi/__init__.py, stdnum/fr/__init__.py, stdnum/hu/__init__.py, stdnum/it/__init__.py, stdnum/lt/__init__.py, stdnum/lu/__init__.py, stdnum/lv/__init__.py, stdnum/nl/__init__.py, stdnum/pl/__init__.py, stdnum/pt/__init__.py, stdnum/ro/__init__.py, stdnum/si/__init__.py, stdnum/sk/__init__.py: for all countries, provide vat as an alias for the local vat identifier 2012-02-19 Arthur de Jong * [6755b94] stdnum/at/__init__.py, stdnum/be/__init__.py, stdnum/bg/__init__.py, stdnum/br/__init__.py, stdnum/cy/__init__.py, stdnum/cz/__init__.py, stdnum/de/__init__.py, stdnum/dk/__init__.py, stdnum/ee/__init__.py, stdnum/es/__init__.py, stdnum/fi/__init__.py, stdnum/fr/__init__.py, stdnum/gb/__init__.py, stdnum/gr/__init__.py, stdnum/hu/__init__.py, stdnum/ie/__init__.py, stdnum/it/__init__.py, stdnum/lt/__init__.py, stdnum/lu/__init__.py, stdnum/lv/__init__.py, stdnum/mt/__init__.py, stdnum/nl/__init__.py, stdnum/pl/__init__.py, stdnum/pt/__init__.py, stdnum/ro/__init__.py, stdnum/se/__init__.py, stdnum/si/__init__.py, stdnum/sk/__init__.py, stdnum/us/__init__.py: give all packages a description 2012-02-19 Arthur de Jong * [6d74fe9] stdnum/nl/vat.py: remove stdnum.nl.vat alias module 2012-02-19 Arthur de Jong * [528901d] stdnum/util.py, tests/test_robustness.doctest: use introspection to find number modules and test them 2012-02-18 Arthur de Jong * [2d80a24] README, stdnum/__init__.py, stdnum/bg/vat.py, tests/test_bg_vat.doctest, tests/test_robustness.doctest: add a VAT (Идентификационен номер по ДДС, Bulgarian VAT numbers) module 2012-02-18 Arthur de Jong * [1384488] README, stdnum/__init__.py, stdnum/bg/pnf.py, tests/test_robustness.doctest: add a PNF (ЛНЧ, Личен номер на чужденец, Bulgarian personal number of a foreigner) module 2012-02-18 Arthur de Jong * [a24e98e] README, stdnum/__init__.py, stdnum/bg/__init__.py, stdnum/bg/egn.py, tests/test_robustness.doctest: add an EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes) module 2012-02-18 Arthur de Jong * [4ac3fe7] tests/test_robustness.doctest: explicitly test for False 2012-02-18 Arthur de Jong * [0c78d90] stdnum/lt/pvm.py: explicitly return False if no rule matches 2012-02-18 Arthur de Jong * [cddb5f9] README, stdnum/__init__.py, stdnum/gb/__init__.py, stdnum/gb/vat.py, tests/test_gb_vat.doctest, tests/test_robustness.doctest: add a VAT (United Kingdom (and Isle of Man) VAT registration number) module 2012-02-18 Arthur de Jong * [6c436ec] tests/test_fi_hetu.doctest: fix typo 2012-02-18 Arthur de Jong * [aa39c92] README, stdnum/__init__.py, stdnum/se/__init__.py, stdnum/se/vat.py, tests/test_robustness.doctest: add a VAT (Moms, Mervärdesskatt, Swedish VAT number) module 2012-02-18 Arthur de Jong * [3a7a91c] README, stdnum/__init__.py, stdnum/si/__init__.py, stdnum/si/ddv.py, tests/test_robustness.doctest: add a ID za DDV (Davčna številka, Slovenian VAT number) module 2012-02-18 Arthur de Jong * [ebbd1af] README, stdnum/__init__.py, stdnum/pl/__init__.py, stdnum/pl/nip.py, tests/test_robustness.doctest: add a NIP (Numer Identyfikacji Podatkowej, Polish VAT number) module 2012-02-18 Arthur de Jong * [c75f072] README, stdnum/__init__.py, stdnum/mt/__init__.py, stdnum/mt/vat.py, tests/test_robustness.doctest: add a VAT (Maltese VAT number) module 2012-02-17 Arthur de Jong * [0922f3c] stdnum/it/iva.py: strip a few more separators 2012-02-17 Arthur de Jong * [b708920] README, stdnum/__init__.py, stdnum/fr/tva.py, tests/test_robustness.doctest: add a TVA (Numéro d'identification à la taxe sur la valeur ajoutée, French VAT number) module 2012-02-17 Arthur de Jong * [dc8e9a3] README, stdnum/__init__.py, stdnum/lt/__init__.py, stdnum/lt/pvm.py, tests/test_robustness.doctest: add a PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number) module 2012-02-17 Arthur de Jong * [20296ef] README, stdnum/__init__.py, stdnum/ee/__init__.py, stdnum/ee/kmkr.py, tests/test_robustness.doctest: add a KMKR (Käibemaksukohuslase, Estonian VAT number) module 2012-02-17 Arthur de Jong * [2100c28] README, stdnum/__init__.py, stdnum/ie/__init__.py, stdnum/ie/vat.py, tests/test_robustness.doctest: add a VAT (Irish VAT number) module 2012-02-17 Arthur de Jong * [d2f1348] README, stdnum/__init__.py, stdnum/hu/__init__.py, stdnum/hu/anum.py, tests/test_robustness.doctest: add an ANUM (Közösségi adószám, Hungarian VAT number) module 2012-02-17 Arthur de Jong * [d803443] README, stdnum/__init__.py, stdnum/cz/dic.py, tests/test_robustness.doctest: add a DIČ (Daňové identifikační číslo, Czech VAT number) module 2012-02-17 Arthur de Jong * [0d2e4cc] README, stdnum/__init__.py, stdnum/fi/alv.py, tests/test_robustness.doctest: add an ALV nro (Arvonlisäveronumero, Finnish VAT number) module 2012-02-17 Arthur de Jong * [03eccc4] README, stdnum/__init__.py, stdnum/sk/dph.py, tests/test_robustness.doctest: add IČ DPH (Identifikačné číslo pre daň z pridanej hodnoty, Slovak VAT number) module 2012-02-16 Arthur de Jong * [389c306] README, stdnum/__init__.py, stdnum/pt/__init__.py, stdnum/pt/nif.py, tests/test_robustness.doctest: add a NIF (Número de identificação fiscal, Portuguese VAT number) module 2012-02-13 Arthur de Jong * [cdc7f96] README, stdnum/__init__.py, stdnum/at/__init__.py, stdnum/at/uid.py, tests/test_robustness.doctest: add a UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number) module 2012-02-13 Arthur de Jong * [e0bb4e8] README, stdnum/__init__.py, stdnum/cy/__init__.py, stdnum/cy/vat.py, tests/test_robustness.doctest: add a Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number) module 2012-02-12 Arthur de Jong * [402a0d5] stdnum/es/cif.py, stdnum/it/iva.py, stdnum/util.py: use the luhn module where possible 2012-02-12 Arthur de Jong * [1c2b4c3] tests/test_robustness.doctest: fix typo in header 2012-02-12 Arthur de Jong * [09ef54d] README, stdnum/__init__.py, stdnum/it/__init__.py, stdnum/it/iva.py, tests/test_robustness.doctest: add a Partita IVA (Italian VAT number) module 2012-02-12 Arthur de Jong * [ffc824b] README, stdnum/__init__.py, stdnum/ro/cf.py, tests/test_robustness.doctest: add a CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number) module 2012-02-12 Arthur de Jong * [9d65f6a] README, stdnum/__init__.py, stdnum/ro/__init__.py, stdnum/ro/cnp.py, tests/test_robustness.doctest: add a CNP (Cod Numeric Personal, Romanian Numerical Personal Code) module 2012-02-12 Arthur de Jong * [60533cd] stdnum/gr/vat.py: also strip : as seen in some numbers 2012-02-11 Arthur de Jong * [74c4c71] README, stdnum/__init__.py, stdnum/lu/__init__.py, stdnum/lu/tva.py, tests/test_robustness.doctest: add a TVA (Numéro d'identification à la taxe sur la valeur ajoutée, Luxembourgian VAT number) module 2012-02-11 Arthur de Jong * [74f4e2a] README, stdnum/__init__.py, stdnum/dk/__init__.py, stdnum/dk/cvr.py, tests/test_robustness.doctest: add a CVR (Momsregistreringsnummer, Danish VAT number) module 2012-02-11 Arthur de Jong * [3c64f1e] stdnum/be/vat.py: add missing test 2012-02-11 Arthur de Jong * [b8c3ba6] stdnum/be/vat.py: clean up numbers starting with (0) 2012-02-11 Arthur de Jong * [8a10861] README, stdnum/__init__.py, stdnum/lv/__init__.py, stdnum/lv/pvn.py, tests/test_robustness.doctest: add a PVN (Pievienotās vērtības nodokļa, Latvian VAT number) module 2012-02-11 Arthur de Jong * [a3610a3] README, stdnum/__init__.py, stdnum/es/nif.py, tests/test_robustness.doctest: add a NIF (Número de Identificación Fiscal, Spanish VAT number) module 2012-02-11 Arthur de Jong * [aa90c4f] README, stdnum/__init__.py, stdnum/es/cif.py, tests/test_robustness.doctest: add a CIF (Certificado de Identificación Fiscal, Spanish tax identification number) module 2012-02-11 Arthur de Jong * [a574e6c] stdnum/util.py: implement a digitsum() function to find the sub of all digits in a number 2012-02-11 Arthur de Jong * [84d1ee7] stdnum/es/nie.py: fix description and remove unnecessary import 2012-02-10 Arthur de Jong * [fa2d398] README, stdnum/__init__.py, stdnum/es/nie.py, tests/test_robustness.doctest: add a NIE (Número de Identificación de Extranjeros, Spanish identification number for foreigners) module 2012-02-10 Arthur de Jong * [fe3210f] README, stdnum/__init__.py, stdnum/es/__init__.py, stdnum/es/dni.py, tests/test_robustness.doctest: add a DNI (Documento nacional de identidad, Spanish personal identity codes) module 2012-02-10 Arthur de Jong * [4439f47] README, stdnum/__init__.py, stdnum/be/__init__.py, stdnum/be/vat.py, tests/test_robustness.doctest: add a BTW, TVA, NWSt (Belgian VAT number) module 2012-02-10 Arthur de Jong * [1ab602c] README, stdnum/__init__.py, stdnum/sk/__init__.py, stdnum/sk/rc.py: also make the stdnum.cz.rc module available as stdnum.sk.rc 2012-02-10 Arthur de Jong * [e9e5861] stdnum/nl/vat.py: also make the stdnum.nl.btw module available as stdnum.nl.vat 2012-02-10 Arthur de Jong * [c795b3c] stdnum/nl/btw.py: fix number in test and ensure that number is not all zeroes 2012-02-10 Arthur de Jong * [2bb9231] stdnum/cz/rc.py: add some info to description 2012-02-10 Arthur de Jong * [1aeeaf4] README, stdnum/__init__.py, stdnum/de/__init__.py, stdnum/de/vat.py, tests/test_robustness.doctest: add an Ust ID Nr. (Umsatzsteur Identifikationnummer, the German VAT number) module 2012-02-10 Arthur de Jong * [473b3ca] README, stdnum/__init__.py, stdnum/gr/__init__.py, stdnum/gr/vat.py, tests/test_robustness.doctest: add a FPA, ΦΠΑ (Foros Prostithemenis Aksias, the Greek VAT number) module 2012-02-05 Arthur de Jong * [9f1d47b] README, stdnum/__init__.py, stdnum/fr/__init__.py, stdnum/fr/siren.py, tests/test_robustness.doctest: add a SIREN (Système d'Identification du Répertoire des Entreprises, a French company identification number) module 2012-02-05 Arthur de Jong * [575fc75] README, stdnum/__init__.py, stdnum/cz/__init__.py, stdnum/cz/rc.py, tests/test_robustness.doctest: add a RČ (Rodné číslo, the Czech birth numbers) module 2012-02-04 Arthur de Jong * [41dd815] stdnum/br/cpf.py, stdnum/ean.py, stdnum/grid.py, stdnum/iban.py, stdnum/imei.py, stdnum/imsi.py, stdnum/isan.py, stdnum/isbn.py, stdnum/ismn.py, stdnum/issn.py, stdnum/meid.py, stdnum/nl/bsn.py, stdnum/nl/btw.py, stdnum/nl/onderwijsnummer.py, stdnum/us/ssn.py, stdnum/util.py: implement a stdnum.util module for holding utility functions (for now clean()) 2012-02-04 Arthur de Jong * [54cc207] tests/test_robustness.doctest: some extra rubustness checks 2012-02-04 Arthur de Jong * [b43817c] stdnum/nl/bsn.py, stdnum/nl/onderwijsnummer.py: rename calc_checksum() to checksum() for consistency 2012-02-04 Arthur de Jong * [548f129] stdnum/iso7064/mod_37_36.py: use integer division 2012-02-02 Arthur de Jong * [9efde4f] README, stdnum/__init__.py, stdnum/nl/btw.py, tests/test_robustness.doctest: add a BTW (the Dutch VAT number) module 2012-02-02 Arthur de Jong * [086e509] README, stdnum/__init__.py, stdnum/nl/bsn.py, stdnum/nl/onderwijsnummer.py, tests/test_robustness.doctest: add an onderwijsnummer (Dutch school number) module 2011-12-31 Arthur de Jong * [587c538] setup.py: revert switching to distutils part of r93, keep restructuring part 2011-12-31 Arthur de Jong * [6756d79] setup.cfg, setup.py: switch to distutils 2011-11-07 Arthur de Jong * [e6020b9] README, stdnum/__init__.py, stdnum/fi/__init__.py, stdnum/fi/hetu.py, tests/test_fi_hetu.doctest, tests/test_robustness.doctest: add a HETU (Finnish personal identity code) module as provided by Jussi Judin (#5) 2011-09-30 Arthur de Jong * [77ac8d4] setup.py: fix version number use (fix r86) 2011-09-30 Arthur de Jong * [6cdfb6b] ChangeLog, NEWS, stdnum/__init__.py: get files ready for 0.6 release 2011-09-30 Arthur de Jong * [1451b47] stdnum/imsi.dat, stdnum/isbn.dat, stdnum/isil.dat: update data files 2011-09-30 Arthur de Jong * [6ec6c7e] setup.py, stdnum/__init__.py: move the version number definition to the stdnum package 2011-09-25 Arthur de Jong * [ae2013d] stdnum/ismn.py: implement an ismn_type() function 2011-09-23 Arthur de Jong * [14b97f9] : ignore __pycache__ directories 2011-09-23 Arthur de Jong * [cbd114e] README, getimsi.py, stdnum/__init__.py, stdnum/imsi.dat, stdnum/imsi.py, tests/test_robustness.doctest: add an IMSI (International Mobile Subscriber Identity) module 2011-09-23 Arthur de Jong * [68c98f0] stdnum/imei.py: implement an imei.split() function that splits the number into a TAC, serial number and checksum or software version 2011-09-23 Arthur de Jong * [e6cd768] getiban.py: remove unneeded import 2011-09-20 Arthur de Jong * [4e8d7e4] stdnum/isbn.py, tests/test_isbn.doctest: implement a conversion function from ISBN13 to ISBN10 2011-09-20 Arthur de Jong * [d6f9ba2] tests/test_imei.doctest, tests/test_isan.doctest, tests/test_isbn.doctest, tests/test_ismn.doctest: fix space before inline comments 2011-09-20 Arthur de Jong * [c4ad099] stdnum/isbn.py, tests/test_isbn.doctest: fix a problem with an ISBN13 with a valid check digit but with an unknown bookland prefix 2011-09-04 Arthur de Jong * [1c7c198] setup.py: fix homepage URL 2011-08-19 Arthur de Jong * [881e8a6] getiban.py, getisbn.py, getisil.py, setup.py, stdnum/br/cpf.py, stdnum/ean.py, stdnum/grid.py, stdnum/iban.py, stdnum/imei.py, stdnum/isan.py, stdnum/isbn.py, stdnum/isil.py, stdnum/ismn.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, stdnum/issn.py, stdnum/luhn.py, stdnum/meid.py, stdnum/nl/bsn.py, stdnum/numdb.py, stdnum/us/ssn.py, stdnum/verhoeff.py: make source code layout follow PEP8 more 2011-07-09 Arthur de Jong * [8dbcedd] ChangeLog, NEWS, setup.py: get files ready for 0.5 release 2011-07-09 Arthur de Jong * [596c7a1] stdnum/iban.dat, stdnum/isbn.dat, stdnum/isil.dat: update data files 2011-06-20 Arthur de Jong * [63b2b0a] stdnum/issn.py: implement a conversion function from ISSN to EAN 2011-06-20 Arthur de Jong * [d101acf] stdnum/isbn.py, stdnum/ismn.py: use the ean module for calculating the check digit 2011-06-20 Arthur de Jong * [f5747bc] README, stdnum/__init__.py, stdnum/ean.py, tests/test_robustness.doctest: add an EAN (International Article Number) module 2011-03-06 Arthur de Jong * [1b904ba] setup.py, stdnum/numdb.py: also support Python3 with the same codebase (see #3) 2011-03-06 Arthur de Jong * [a45079f] setup.py: ensure that data files are always included 2011-03-02 Arthur de Jong * [c17920a] stdnum/verhoeff.py: Python 2.5 compatibility improvement 2011-02-06 Arthur de Jong * [e6ba399] ChangeLog, NEWS, setup.py: get files ready for 0.4 release 2011-02-06 Arthur de Jong * [060dfce] stdnum/isbn.dat: include an updated version 2011-02-06 Arthur de Jong * [8806d2a] README, stdnum/__init__.py, stdnum/us/__init__.py, stdnum/us/ssn.py, tests/test_robustness.doctest: add an SSN (U.S. Social Security Number) module 2011-02-05 Arthur de Jong * [c260626] README, stdnum/__init__.py: add ISIL to the documentation 2011-02-05 Arthur de Jong * [e517903] getisil.py, stdnum/isil.dat, stdnum/isil.py, tests/test_robustness.doctest: add an ISIL (International Standard Identifier for Libraries and Related Organizations) module 2011-02-05 Arthur de Jong * [96f4f7c] stdnum/numdb.py: allow most kind of characters in number ranges 2011-02-05 Arthur de Jong * [33611d1] stdnum/iban.py: move more validation into try/except (specifically the _convert() call) 2011-02-05 Arthur de Jong * [62aa496] tests/test_iban.doctest, tests/test_imei.doctest, tests/test_isan.doctest, tests/test_isbn.doctest, tests/test_ismn.doctest, tests/test_issn.doctest, tests/test_luhn.doctest, tests/test_meid.doctest, tests/test_nl_bsn.doctest, tests/test_robustness.doctest, tests/test_verhoeff.doctest: move all robustness tests into one test file 2011-02-05 Arthur de Jong * [9081e90] tests/test_iso7064.doctest: fix imports of iso7064.mod_*_* modules 2011-02-05 Arthur de Jong * [e5678ca] stdnum/isbn.py: fix typo in r53 2011-02-05 Arthur de Jong * [ea737ff] stdnum/__init__.py: add encoding header 2011-01-31 Arthur de Jong * [cc7a6d8] README, stdnum/__init__.py: get README and package docstring in sync 2011-01-21 Arthur de Jong * [6724e50] stdnum/isbn.py, tests/test_isbn.doctest: add a convert parameter to most isbn functions to automatically convert to ISBN-13 2011-01-17 Arthur de Jong * [411874e] README: add note about CPF and update copyright year 2011-01-16 Arthur de Jong * [db2238c] README, getiban.py, stdnum/iban.dat, stdnum/iban.py, tests/test_iban.doctest: add an IBAN (International Bank Account Number) module 2011-01-16 Arthur de Jong * [2b4aff6] setup.py, stdnum/numdb.py: revert r49 because it wasn't needed after all 2011-01-16 Arthur de Jong * [0bf31c9] setup.py, stdnum/numdb.py: introduce a full parameter that can be used to only return the part that is in the database 2011-01-16 Arthur de Jong * [4fe17ba] stdnum/grid.py, stdnum/isan.py: fix import of iso7064 modules 2011-01-16 Arthur de Jong * [c1f03c2] stdnum/numdb.py, test.dat: add test for partial match 2011-01-15 Arthur de Jong * [81a99d3] tests/test_nl_bsn.doctest: fix comments to refer to the new path of the module 2011-01-15 Arthur de Jong * [fda67ac] stdnum/br/__init__.py, stdnum/br/cpf.py, tests/test_br_cpf.doctest: add a CPF (Cadastro de Pessoas Físicas) module 2011-01-15 Arthur de Jong * [8d3a92c] stdnum/nl/__init__.py, stdnum/nl/bsn.py, tests/test_nl_bsn.doctest: move bsn module inside nl package 2010-11-26 Arthur de Jong * [6ed480c] setup.py, stdnum/__init__.py: move general description to package __init__.py file 2010-11-24 Arthur de Jong * [124c16d] getisbn.py, stdnum/isbn.dat, stdnum/isbn.py, stdnum/isbn/ranges.py, stdnum/numdb.py, test.dat, tests/test_isbn.doctest: implement a new numdb module to hold information on hierarchically organised numbers and switch the isbn module to use this format instead 2010-09-11 Arthur de Jong * [72a0b96] ChangeLog, NEWS, README, setup.py: get files ready for 0.3 release 2010-09-05 Arthur de Jong * [cd844b5] setup.py: have sdist target create a tarball with reasonable permissions 2010-08-29 Arthur de Jong * [2e64eb8] stdnum/bsn.py, stdnum/isan.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/meid.py, stdnum/verhoeff.py, tests/test_bsn.doctest, tests/test_ismn.doctest: spelling check 2010-08-28 Arthur de Jong * [2a7afff] README, stdnum/grid.py: add a GRid (Global Release Identifier) module 2010-08-27 Arthur de Jong * [9970652] README, stdnum/isan.py, tests/test_isan.doctest: add ISAN (International Standard Audiovisual Number) module 2010-08-27 Arthur de Jong * [fda9552] README, stdnum/iso7064/__init__.py, stdnum/iso7064/mod_11_10.py, stdnum/iso7064/mod_11_2.py, stdnum/iso7064/mod_37_2.py, stdnum/iso7064/mod_37_36.py, stdnum/iso7064/mod_97_10.py, tests/test_iso7064.doctest: implement some ISO/IEC 7064 check digit schemes 2010-08-26 Arthur de Jong * [4017d83] stdnum/isbn/__init__.py, stdnum/ismn.py, stdnum/issn.py, stdnum/verhoeff.py: switch to using enumerate() for looping over numbers where needed 2010-08-21 Arthur de Jong * [8bdb6ef] README, stdnum/ismn.py, tests/test_ismn.doctest: add an ISMN (International Standard Music Number) module 2010-08-21 Arthur de Jong * [97d5280] tests/test_isbn.doctest: simplify ranges tests a bit 2010-08-21 Arthur de Jong * [f3b025b] stdnum/isbn/ranges.py: update ranges from newly downloaded file 2010-08-20 Arthur de Jong * [8748830] README, stdnum/meid.py, tests/test_meid.doctest: add a MEID (Mobile Equipment Identifier) module 2010-08-20 Arthur de Jong * [f125f3e] setup.cfg, tests/test_isbn.doctest, tests/test_issn.doctest: write some more tests (some of which are a bit of a hack) to get coverage to 100% 2010-08-20 Arthur de Jong * [d622d92] stdnum/imei.py, tests/test_imei.doctest: add an add_check_digit option to the format() function to add a check digit if needed and possible 2010-08-20 Arthur de Jong * [a74a6f7] stdnum/luhn.py: make checksum calculation a little more readable 2010-08-20 Arthur de Jong * [6bb04af] README, stdnum/imei.py, tests/test_imei.doctest: add an IMEI (International Mobile Equipment Identity) module 2010-08-20 Arthur de Jong * [ca08995] README, stdnum/luhn.py, tests/test_luhn.doctest: add functions for handling the Luhn and Luhn mod N algorithms 2010-08-20 Arthur de Jong * [7e800c3] stdnum/issn.py: fix typo 2010-08-20 Arthur de Jong * [571dc83] README, stdnum/verhoeff.py, tests/test_verhoeff.doctest: add functions for handling the Verhoeff algorithm 2010-08-16 Arthur de Jong * [9ffa9fd] ChangeLog, NEWS, setup.py: get files ready for 0.2 release 2010-08-16 Arthur de Jong * [19b7d2d] debian/changelog, debian/compat, debian/control, debian/copyright, debian/docs, debian/rules, debian/source/format, debian/watch: debian package configuration is now available at http://svn.debian.org/viewsvn/python-modules/packages/python-stdnum/trunk/ 2010-08-14 Arthur de Jong * [85e9e3b] setup.cfg, tests/test_bsn.doctest, tests/test_isbn.doctest: add more doctests that are not part of the module documentation 2010-07-27 Arthur de Jong * [c536356] README, stdnum/bsn.py, stdnum/isbn/__init__.py, stdnum/issn.py: rename validate() function to is_valid() 2010-07-27 Arthur de Jong * [85a5fc8] stdnum/isbn/ranges.py: fix typo in output() function 2010-07-27 Arthur de Jong * [1071603] stdnum/isbn/ranges.py: fix range detection to handle lookup errors more gracefully 2010-07-27 Arthur de Jong * [a86c4cc] stdnum/bsn.py, stdnum/isbn/__init__.py, stdnum/issn.py: handle wrong types passed to validate() more gracefully 2010-07-26 Arthur de Jong * [9495116] debian/changelog, debian/source/format, debian/watch: make release 0.1-1 2010-07-25 Arthur de Jong * [55a97d4] ChangeLog: get files ready for 0.1 release 2010-07-25 Arthur de Jong * [1e02d5a] debian/changelog, debian/compat, debian/control, debian/copyright, debian/docs, debian/rules, debian/source/format: add Debian packaging 2010-07-25 Arthur de Jong * [14bd2fe] COPYING, ChangeLog, MANIFEST.in, NEWS: include some more files in the source distribution 2010-07-25 Arthur de Jong * [9940cf3] setup.cfg: use nose for testing and ignore generated files and directories 2010-07-25 Arthur de Jong * [967f2ae] setup.py: add a setup.py script for use of setuptools 2010-07-25 Arthur de Jong * [ca5f850] README: add documentation to the README 2010-07-25 Arthur de Jong * [40aff16] stdnum/bsn.py, stdnum/isbn/__init__.py, stdnum/isbn/ranges.py, stdnum/issn.py: spelling check an extra doctest and a simplification 2010-07-23 Arthur de Jong * [6eabbc3] stdnum/bsn.py: add BSN (Burgerservicenummer, the Ducth national identification number) module 2010-07-23 Arthur de Jong * [92e18aa] stdnum/issn.py: add an ISSN (International Standard Serial Number) module 2010-07-23 Arthur de Jong * [31ce783] stdnum/isbn/__init__.py: fix example and fix ISBN13 conversion 2010-07-23 Arthur de Jong * [4b8c10e] stdnum/isbn/__init__.py: get rid of remainders of old code that used exceptions 2010-07-23 Arthur de Jong * [7d2f15a] README, stdnum/__init__.py, stdnum/isbn/__init__.py, stdnum/isbn/ranges.py: make a initial repository layout with an implementation of the isbn module