python-stdnum branch master updated. 1.6-9-g0c91b43
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
python-stdnum branch master updated. 1.6-9-g0c91b43
- From: Commits of the python-stdnum project <python-stdnum-commits [at] lists.arthurdejong.org>
- To: python-stdnum-commits [at] lists.arthurdejong.org
- Reply-to: python-stdnum-users [at] lists.arthurdejong.org
- Subject: python-stdnum branch master updated. 1.6-9-g0c91b43
- Date: Sun, 20 Aug 2017 22:36:28 +0200 (CEST)
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "python-stdnum".
The branch, master has been updated
via 0c91b4302ca4019ab1ea7c023b592c177dddc4fe (commit)
from bd0c7c7b3699f2481da0ba8b69204c30396e1f57 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://arthurdejong.org/git/python-stdnum/commit/?id=0c91b4302ca4019ab1ea7c023b592c177dddc4fe
commit 0c91b4302ca4019ab1ea7c023b592c177dddc4fe
Author: Mohammed Salman <mohammed@holvi.com>
Date: Thu Aug 17 15:45:25 2017 +0300
Implement Finnish individual tax number validation
diff --git a/stdnum/fi/veronumero.py b/stdnum/fi/veronumero.py
new file mode 100644
index 0000000..6bee0b6
--- /dev/null
+++ b/stdnum/fi/veronumero.py
@@ -0,0 +1,74 @@
+# veronumero.py - functions for handling Finnish individual tax numbers
+# coding: utf-8
+#
+# Copyright (C) 2017 Holvi Payment Services Oy
+# Copyright (C) 2017 Arthur de Jong
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA
+
+"""
+Veronumero (Finnish individual tax number).
+
+The Veronumero an individual tax number that is assigned to workers in the
+construction industry in Finland. The number is separate from the HETU and is
+a 12 digit number without any embedded information such as birth dates.
+
+More information:
+
+*
https://www.vero.fi/en/detailed-guidance/guidance/48791/individual_tax_numbers__instructions_fo/
+*
https://prosentti.vero.fi/Veronumerorekisteri/Tarkistus/VeronumeronTarkistus.aspx
+
+>>> validate('123456789123')
+'123456789123'
+>>> validate('12345678912A')
+Traceback (most recent call last):
+ ...
+InvalidFormat: ...
+>>> validate('123456789')
+Traceback (most recent call last):
+ ...
+InvalidLength: ...
+"""
+
+from stdnum.exceptions import *
+from stdnum.util import clean
+
+
+def compact(number):
+ """Convert the Veronumero to the minimal representation. This strips
+ surrounding whitespace and removes separators."""
+ return clean(number, ' ').strip()
+
+
+def validate(number):
+ """Checks to see if the number provided is a valid tax number. This
+ checks the length and formatting."""
+ number = compact(number)
+ if not number.isdigit():
+ raise InvalidFormat()
+ if len(number) != 12:
+ raise InvalidLength()
+ # there is no known check digit validation
+ return number
+
+
+def is_valid(number):
+ """Checks to see if the number provided is a valid tax number. This
+ checks the length and formatting."""
+ try:
+ return bool(validate(number))
+ except ValidationError:
+ return False
-----------------------------------------------------------------------
Summary of changes:
stdnum/{al/nipt.py => fi/veronumero.py} | 62 +++++++++++++++------------------
1 file changed, 28 insertions(+), 34 deletions(-)
copy stdnum/{al/nipt.py => fi/veronumero.py} (53%)
hooks/post-receive
--
python-stdnum
--
To unsubscribe send an email to
python-stdnum-commits-unsubscribe@lists.arthurdejong.org or see
https://lists.arthurdejong.org/python-stdnum-commits/
- python-stdnum branch master updated. 1.6-9-g0c91b43,
Commits of the python-stdnum project