From 21fc5aee478e4b0b4b0bba4dd94b0823731ec169 Mon Sep 17 00:00:00 2001 From: MaurizioPilia Date: Wed, 12 Mar 2025 15:54:29 +0100 Subject: [PATCH 1/4] Remove special cases for valid codes The special cases excluded from the validation represent valid codes, used in test environments. --- src/validators/i18n/es.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/validators/i18n/es.py b/src/validators/i18n/es.py index 4bc6bb6..a0c4112 100644 --- a/src/validators/i18n/es.py +++ b/src/validators/i18n/es.py @@ -7,9 +7,9 @@ from validators.utils import validator -def _nif_nie_validation(value: str, number_by_letter: Dict[str, str], special_cases: Set[str]): +def _nif_nie_validation(value: str, number_by_letter: Dict[str, str]): """Validate if the doi is a NIF or a NIE.""" - if value in special_cases or len(value) != 9: + if len(value) != 9: return False value = value.upper() table = "TRWAGMYFPDXBNJZSQVHLCKE" @@ -104,8 +104,7 @@ def es_nif(value: str, /): (ValidationError): If `value` is an invalid DOI string. """ number_by_letter = {"L": "0", "M": "0", "K": "0"} - special_cases = {"X0000000T", "00000000T", "00000001R"} - return _nif_nie_validation(value, number_by_letter, special_cases) + return _nif_nie_validation(value, number_by_letter) @validator @@ -137,7 +136,7 @@ def es_nie(value: str, /): number_by_letter = {"X": "0", "Y": "1", "Z": "2"} # NIE must must start with X Y or Z if value and value[0] in number_by_letter: - return _nif_nie_validation(value, number_by_letter, {"X0000000T"}) + return _nif_nie_validation(value, number_by_letter) return False From 674ec82f651bf2a19b5b2057e41f74870f26847b Mon Sep 17 00:00:00 2001 From: MaurizioPilia Date: Thu, 13 Mar 2025 17:38:56 +0100 Subject: [PATCH 2/4] Update test_es.py --- tests/i18n/test_es.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/tests/i18n/test_es.py b/tests/i18n/test_es.py index 32f1719..266bda8 100644 --- a/tests/i18n/test_es.py +++ b/tests/i18n/test_es.py @@ -94,18 +94,9 @@ def test_returns_true_on_valid_nif(value: str): assert es_nif(value) -@pytest.mark.parametrize( - ("value",), - [ - ("12345",), - ("X0000000T",), - ("00000000T",), - ("00000001R",), - ], -) -def test_returns_false_on_invalid_nif(value: str): +def test_returns_false_on_invalid_nif(): """Test returns false on invalid nif.""" - result = es_nif(value) + result = es_nif("12345") assert isinstance(result, ValidationError) From cbe13d30338afae9d95b14649653bd7868d48991 Mon Sep 17 00:00:00 2001 From: MaurizioPilia Date: Tue, 8 Apr 2025 10:24:07 +0200 Subject: [PATCH 3/4] Update test_es.py --- tests/i18n/test_es.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/i18n/test_es.py b/tests/i18n/test_es.py index 266bda8..5b1ce01 100644 --- a/tests/i18n/test_es.py +++ b/tests/i18n/test_es.py @@ -108,10 +108,13 @@ def test_returns_false_on_invalid_nif(): ("U4839822F",), ("B96817697",), # NIEs + ("X0000000T",), ("X0095892M",), ("X8868108K",), ("X2911154K",), # NIFs + ("00000001R",), + ("00000000T",), ("26643189N",), ("07060225F",), ("49166693F",), From 15eaa80c1abc28914ad7aaaa520cdf6e22cc1071 Mon Sep 17 00:00:00 2001 From: Yozachar <38415384+yozachar@users.noreply.github.com> Date: Sat, 26 Apr 2025 21:58:28 +0530 Subject: [PATCH 4/4] chore: formatting --- src/validators/__init__.py | 2 +- src/validators/i18n/es.py | 2 +- src/validators/uri.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/validators/__init__.py b/src/validators/__init__.py index 3aceb37..635a835 100644 --- a/src/validators/__init__.py +++ b/src/validators/__init__.py @@ -23,7 +23,7 @@ fr_ssn, ind_aadhar, ind_pan, - ru_inn + ru_inn, ) from .iban import iban from .ip_address import ipv4, ipv6 diff --git a/src/validators/i18n/es.py b/src/validators/i18n/es.py index a0c4112..3d4b1ba 100644 --- a/src/validators/i18n/es.py +++ b/src/validators/i18n/es.py @@ -1,7 +1,7 @@ """Spain.""" # standard -from typing import Dict, Set +from typing import Dict # local from validators.utils import validator diff --git a/src/validators/uri.py b/src/validators/uri.py index 29092e3..84b534e 100644 --- a/src/validators/uri.py +++ b/src/validators/uri.py @@ -68,7 +68,7 @@ def uri(value: str, /): # email if value.startswith("mailto:"): - return email(value[len("mailto:"):]) + return email(value[len("mailto:") :]) # file if value.startswith("file:"):