From f0ab0eb9c75d18d597dd1b33f6b0d3094b53669d Mon Sep 17 00:00:00 2001 From: Stefan Rijnhart Date: Thu, 3 May 2012 12:47:02 +0200 Subject: [PATCH] [FIX] Italian IBAN format --- account_banking/sepa/iban.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/account_banking/sepa/iban.py b/account_banking/sepa/iban.py index eba743475..6ed5d06c5 100644 --- a/account_banking/sepa/iban.py +++ b/account_banking/sepa/iban.py @@ -219,7 +219,7 @@ class IBAN(str): # Iceland uses an extra identification number, split in two on # display. Coded here as %P%V. 'IS': BBANFormat('CCCCTTAAAAAAPPPPPPVVVV', '%C-%T-%A-%P-%V'), - 'IT': BBANFormat('WBBBBBCCCCCCAAAAAAAAAAAAV', '%W/%B/%C/%A%V'), + 'IT': BBANFormat('WBBBBBCCCCCAAAAAAAAAAAA', '%W/%B/%C/%A'), 'LV': BBANFormat('BBBBAAAAAAAAAAAAA', '%I'), 'LI': BBANFormat('CCCCCAAAAAAAAAAAA', '%C %A', nolz=True), 'LT': BBANFormat('BBBBBAAAAAAAAAAA', '%I'), @@ -267,11 +267,12 @@ class IBAN(str): in 'C' implemented class, this can't be done in __init__. ''' init = '' - for item in arg.upper(): - if item.isalnum(): - init += item - elif item not in ' \t.-': - raise ValueError, 'Invalid chars found in IBAN number' + if arg: + for item in arg.upper(): + if item.isalnum(): + init += item + elif item not in ' \t.-': + raise ValueError, 'Invalid chars found in IBAN number' return str.__new__(cls, init) def __init__(self, *args, **kwargs):