Skip to content

Commit

Permalink
Remove *args from Form __init__() (#421)
Browse files Browse the repository at this point in the history
  • Loading branch information
benkonrath authored Aug 24, 2020
1 parent aa1bb38 commit 5808835
Show file tree
Hide file tree
Showing 13 changed files with 46 additions and 42 deletions.
4 changes: 4 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ Modifications to existing flavors:
Other changes:

- Extended validation of BICs to match official SEPA regulations
- Removed positional arguments (`*args`) from form fields that inherit from Django's
`forms.CharField` and `forms.Field`. Positional arguments are not supported in the
the parent form and did not work.
`gh-421 <https://github.com/django/django-localflavor/pull/421>`_)


3.0 (2020-02-19)
Expand Down
4 changes: 2 additions & 2 deletions localflavor/ar/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ class ARDNIField(CharField):
'max_digits': _("This field requires 7 or 8 digits."),
}

def __init__(self, max_length=10, min_length=7, *args, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, *args, **kwargs)
def __init__(self, max_length=10, min_length=7, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, **kwargs)

def clean(self, value):
"""Value can be a string either in the [X]X.XXX.XXX or [X]XXXXXXX formats."""
Expand Down
16 changes: 8 additions & 8 deletions localflavor/br/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ class BRZipCodeField(CharField):
'invalid': _('Enter a zip code in the format XXXXX-XXX.'),
}

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.validators.append(BRPostalCodeValidator())


Expand Down Expand Up @@ -85,8 +85,8 @@ class BRCPFField(CharField):
'max_digits': _("This field requires at most 11 digits or 14 characters."),
}

def __init__(self, max_length=14, min_length=11, *args, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, *args, **kwargs)
def __init__(self, max_length=14, min_length=11, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, **kwargs)
self.validators.append(BRCPFValidator())

def clean(self, value):
Expand Down Expand Up @@ -124,8 +124,8 @@ class BRCNPJField(CharField):
'max_digits': _("This field requires at least 14 digits"),
}

def __init__(self, min_length=14, max_length=18, *args, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, *args, **kwargs)
def __init__(self, min_length=14, max_length=18, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, **kwargs)
self.validators.append(BRCNPJValidator())

def clean(self, value):
Expand Down Expand Up @@ -153,8 +153,8 @@ class BRProcessoField(CharField):

default_error_messages = {'invalid': _("Invalid Process number.")}

def __init__(self, max_length=25, min_length=20, *args, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, *args, **kwargs)
def __init__(self, max_length=25, min_length=20, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, **kwargs)

def clean(self, value):
"""Value can be either a string in the format NNNNNNN-DD.AAAA.J.TR.OOOO or an 20-digit number."""
Expand Down
4 changes: 2 additions & 2 deletions localflavor/cn/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ class CNIDCardField(CharField):
'location': _('Invalid ID Card Number: Wrong location code'),
}

def __init__(self, max_length=18, min_length=15, *args, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, *args, **kwargs)
def __init__(self, max_length=18, min_length=15, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, **kwargs)

def clean(self, value):
"""Check whether the input is a valid ID Card Number."""
Expand Down
8 changes: 4 additions & 4 deletions localflavor/fr/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,19 +73,19 @@ class FRDepartmentField(CharField):

widget = FRDepartmentSelect

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs.setdefault('label', _('Select Department'))
super().__init__(*args, **kwargs)
super().__init__(**kwargs)


class FRRegionField(CharField):
"""A Select Field that uses a FRRegionSelect widget."""

widget = FRRegionSelect

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs.setdefault('label', _('Select Region'))
super().__init__(*args, **kwargs)
super().__init__(**kwargs)


class FRNationalIdentificationNumber(CharField):
Expand Down
8 changes: 4 additions & 4 deletions localflavor/generic/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,11 @@ class MyForm(forms.Form):
.. versionadded:: 1.1
"""

def __init__(self, use_nordea_extensions=False, include_countries=None, *args, **kwargs):
def __init__(self, use_nordea_extensions=False, include_countries=None, **kwargs):
kwargs.setdefault('min_length', IBAN_MIN_LENGTH)
kwargs.setdefault('max_length', 34)
self.default_validators = [IBANValidator(use_nordea_extensions, include_countries)]
super().__init__(*args, **kwargs)
super().__init__(**kwargs)

def to_python(self, value):
value = super().to_python(value)
Expand Down Expand Up @@ -113,9 +113,9 @@ class BICFormField(forms.CharField):

default_validators = [BICValidator()]

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs.setdefault('max_length', 11)
super().__init__(*args, **kwargs)
super().__init__(**kwargs)

def to_python(self, value):
# BIC is always written in upper case.
Expand Down
4 changes: 2 additions & 2 deletions localflavor/gr/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ class GRTaxNumberCodeField(Field):
'invalid': _('Enter a valid greek tax number (9 digits).'),
}

def __init__(self, allow_test_value=False, *args, **kwargs):
def __init__(self, allow_test_value=False, **kwargs):
self.allow_test_value = allow_test_value
super().__init__(*args, **kwargs)
super().__init__(**kwargs)

def clean(self, value):
value = super().clean(value)
Expand Down
8 changes: 4 additions & 4 deletions localflavor/ma/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ class MAProvinceField(CharField):

widget = MAProvinceSelect

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs.setdefault('label', _('Select Province'))
super().__init__(*args, **kwargs)
super().__init__(**kwargs)


class MARegionField(CharField):
Expand All @@ -71,6 +71,6 @@ class MARegionField(CharField):

widget = MARegionSelect

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs.setdefault('label', _('Select Region'))
super().__init__(*args, **kwargs)
super().__init__(**kwargs)
8 changes: 4 additions & 4 deletions localflavor/md/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ class MDIDNOField(forms.CharField):

default_validators = [MDIDNOFieldValidator()]

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs['max_length'] = 13
super().__init__(*args, **kwargs)
super().__init__(**kwargs)


class MDLicensePlateField(forms.CharField):
Expand All @@ -27,9 +27,9 @@ class MDLicensePlateField(forms.CharField):

default_validators = [MDLicensePlateValidator()]

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs['max_length'] = 13
super().__init__(*args, **kwargs)
super().__init__(**kwargs)


class MDCompanyTypesSelect(forms.Select):
Expand Down
8 changes: 4 additions & 4 deletions localflavor/nl/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ class NLBSNFormField(forms.CharField):

default_validators = [NLBSNFieldValidator()]

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs['max_length'] = 9
super().__init__(*args, **kwargs)
super().__init__(**kwargs)


class NLLicensePlateFormField(forms.CharField):
Expand Down Expand Up @@ -82,9 +82,9 @@ class NLLicensePlateFormField(forms.CharField):
"sidecode_voertuig_binnen_of_buiten_nederland_brengen": re.compile(r"^(Z)([0-9]{2})([0-9]{2})$"), # Z-99-99
}

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs['max_length'] = 8
super().__init__(*args, **kwargs)
super().__init__(**kwargs)

def clean(self, value):
value = super().clean(value)
Expand Down
8 changes: 4 additions & 4 deletions localflavor/pe/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ class PEDNIField(CharField):
'max_digits': _("This field requires 8 digits."),
}

def __init__(self, max_length=8, min_length=8, *args, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, *args, **kwargs)
def __init__(self, max_length=8, min_length=8, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, **kwargs)

def clean(self, value):
"""Value must be a string in the XXXXXXXX formats."""
Expand All @@ -50,8 +50,8 @@ class PERUCField(CharField):
'max_digits': _("This field requires 11 digits."),
}

def __init__(self, max_length=11, min_length=11, *args, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, *args, **kwargs)
def __init__(self, max_length=11, min_length=11, **kwargs):
super().__init__(max_length=max_length, min_length=min_length, **kwargs)

def clean(self, value):
"""Value must be an 11-digit number."""
Expand Down
4 changes: 2 additions & 2 deletions localflavor/se/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,10 @@ class SEPersonalIdentityNumberField(forms.CharField):
The cleaned value will always have the format YYYYMMDDXXXX.
"""

def __init__(self, coordination_number=True, interim_number=False, *args, **kwargs):
def __init__(self, coordination_number=True, interim_number=False, **kwargs):
self.coordination_number = coordination_number
self.interim_number = interim_number
super().__init__(*args, **kwargs)
super().__init__(**kwargs)

default_error_messages = {
'invalid': _('Enter a valid Swedish personal identity number.'),
Expand Down
4 changes: 2 additions & 2 deletions localflavor/si/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,9 @@ def clean(self, value):
class SIPostalCodeField(ChoiceField):
"""Slovenian post codes field."""

def __init__(self, *args, **kwargs):
def __init__(self, **kwargs):
kwargs.setdefault('choices', SI_POSTALCODES_CHOICES)
super().__init__(*args, **kwargs)
super().__init__(**kwargs)


class SIPostalCodeSelect(Select):
Expand Down

0 comments on commit 5808835

Please sign in to comment.