Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/stdnum/br/cpf.py
diff options
context:
space:
mode:
Diffstat (limited to 'stdnum/br/cpf.py')
-rw-r--r--stdnum/br/cpf.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/stdnum/br/cpf.py b/stdnum/br/cpf.py
index a85c291..dccc9c6 100644
--- a/stdnum/br/cpf.py
+++ b/stdnum/br/cpf.py
@@ -35,18 +35,18 @@ False
def compact(number):
"""Convert the number to the minimal representation. This strips the
number of any valid separators and removes surrounding whitespace."""
- number = number.replace(' ','').replace('-','').replace('.','').strip()
- # pad with leading zeroes
- return number
+ return number.replace(' ', '').replace('-', '').replace('.', '').strip()
+
def _calc_check_digits(number):
"""Calculate the check digits for the number."""
- d1 = sum( (10-i) * int(number[i]) for i in range(9) )
- d1 = ( 11 - d1 ) % 11 % 10
- d2 = sum( (11-i) * int(number[i]) for i in range(9) ) + 2 * d1
- d2 = ( 11 - d2 ) % 11 % 10
+ d1 = sum((10 - i) * int(number[i]) for i in range(9))
+ d1 = (11 - d1) % 11 % 10
+ d2 = sum((11 - i) * int(number[i]) for i in range(9)) + 2 * d1
+ d2 = (11 - d2) % 11 % 10
return '%d%d' % (d1, d2)
+
def is_valid(number):
"""Checks to see if the number provided is a valid BSN. This checks
the length and whether the check digit is correct."""
@@ -59,6 +59,7 @@ def is_valid(number):
int(number) > 0 and \
_calc_check_digits(number) == number[-2:]
+
def format(number):
"""Reformat the passed number to the standard format."""
number = compact(number)