brdocs-validation 0.3.0__py3-none-any.whl → 0.4.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
br_docs/__init__.py CHANGED
@@ -9,6 +9,7 @@ from br_docs.validators.cpf import CPFv
9
9
  from br_docs.validators.nis import NISv
10
10
  from br_docs.validators.renavam import RENAVAMv
11
11
  from br_docs.validators.te import TEv
12
+ from br_docs.validators.sei import SEIv
12
13
 
13
14
 
14
15
  CPF = Annotated[str, AfterValidator(CPFv())]
@@ -19,3 +20,4 @@ CNS = Annotated[str, AfterValidator(CNSv())]
19
20
  RENAVAM = Annotated[str, AfterValidator(RENAVAMv())]
20
21
  TE = Annotated[str, AfterValidator(TEv())]
21
22
  CERT = Annotated[str, AfterValidator(CERTv())]
23
+ SEI = Annotated[str, AfterValidator(SEIv())]
@@ -0,0 +1,17 @@
1
+ import re
2
+
3
+ from pydantic_core import PydanticCustomError
4
+
5
+
6
+ class SEIv:
7
+ Patterns = re.compile(r'^\d{5}-?\d{8}/?\d{4}-?\d{2}$')
8
+
9
+ def __call__(self, value: str) -> str:
10
+ self.validate(value)
11
+ return value
12
+
13
+ def validate(self, value: str) -> str:
14
+ check_format = bool(self.Patterns.match(value))
15
+ if check_format is not True:
16
+ raise PydanticCustomError('invalid', 'Invalid Value')
17
+ return value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: brdocs-validation
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Validate brazilian documents using Type Hints in classes inheriting Pydantic's (V2) BaseModel
5
5
  Author-email: Vinícius Aguiar <vaguiararqdevsoftware@proton.me>
6
6
  Maintainer-email: Vinícius Aguiar <vaguiararqdevsoftware@proton.me>
@@ -54,10 +54,12 @@ pip install brdocs-validation
54
54
  | RENAVAM | | Only numbers | Length: _9, 10 & 11_ |
55
55
  | TE | Título de eleitor | Only numbers | |
56
56
  | CERT | Certidão de casamento, nascimento e óbito | Only numbers | |
57
+ | SEI | Número do Processo SEI | 12345-67890123/4567-89 OR without special chars | |
58
+
57
59
  ## Usage
58
60
 
59
61
  ```python
60
- from br_docs import CNPJ, CPF, CNH, NIS, CNS, RENAVAM, TE, CERT
62
+ from br_docs import CNPJ, CPF, CNH, NIS, CNS, RENAVAM, TE, CERT, SEI
61
63
  from pydantic import BaseModel
62
64
 
63
65
 
@@ -70,4 +72,5 @@ class User(BaseModel):
70
72
  renavam: RENAVAM
71
73
  te: TE
72
74
  cert: CERT
75
+ sei: SEI
73
76
  ```
@@ -1,4 +1,4 @@
1
- br_docs/__init__.py,sha256=fOgdmOpBtrRKMwoxQdlKz-zB6XyorhB5s9mZi3lJyg0,801
1
+ br_docs/__init__.py,sha256=YrOKIcR1Ie1C-fQw6MlWFklx7WHcuQ93Qid-rNMDKPE,886
2
2
  br_docs/validators/__init__.py,sha256=7DeKn9Uq2znYN-P2yAVRkqwGY-Bvh8GIEjbpCMe9sRQ,1021
3
3
  br_docs/validators/cert.py,sha256=KpRxqavETcpSPVJbIWz7gfs-KjjnsuvmtZcV6mmAcI4,962
4
4
  br_docs/validators/cnh.py,sha256=3rjcusDdCdUD_id_oIWcMtM0biATDu_yYkuaq_NVSEg,1119
@@ -7,11 +7,12 @@ br_docs/validators/cns.py,sha256=sDiZEeoUZ2yo9J-3opE2ZjOTVO9eTCBlPBhRBlfuGcE,114
7
7
  br_docs/validators/cpf.py,sha256=a9oxE3Su-RYpGKMAzO4SUD4kddm8qkbbhSVKFEhkOog,611
8
8
  br_docs/validators/nis.py,sha256=47wi0sLjsr9aDdxVuVfSMRtQfV9AnW32tm2j5hRjiO0,661
9
9
  br_docs/validators/renavam.py,sha256=IeJimMmERHGZ1b3Tjo731ThZzNR7dA1NeZA97r3CqOo,738
10
+ br_docs/validators/sei.py,sha256=WHy3exmb-5tlZuNmMxkTzyMHBOhUrm6uyj6nyozhXv4,448
10
11
  br_docs/validators/te.py,sha256=KuGwM9pVydP1QKeKd6t57Ay4IG6augY11qIRwjLgDVo,1153
11
12
  br_docs/validators/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
13
  br_docs/validators/types/format.py,sha256=hj4f3KjW7mAz7l1F6pXby4_BahGNGdaIbNbmsQxrXTI,421
13
- brdocs_validation-0.3.0.dist-info/LICENSE.txt,sha256=FdwJdtrJG9B1E0C3y6BG6QhRznIfFLzPXdUzclDkZYs,1073
14
- brdocs_validation-0.3.0.dist-info/METADATA,sha256=nzjAVsrS3BSB7r2eSlA18_yT9mb7zxKWhp7WCrZ--Co,3669
15
- brdocs_validation-0.3.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
16
- brdocs_validation-0.3.0.dist-info/top_level.txt,sha256=COjwP4hy4qNtPXnPVmsgWBi_-2Byyw_0gmjorp3UnRA,8
17
- brdocs_validation-0.3.0.dist-info/RECORD,,
14
+ brdocs_validation-0.4.0.dist-info/LICENSE.txt,sha256=FdwJdtrJG9B1E0C3y6BG6QhRznIfFLzPXdUzclDkZYs,1073
15
+ brdocs_validation-0.4.0.dist-info/METADATA,sha256=wBGHyOVXTBFMIr7HmSSSm30JY7PJdv-UEwQBL8Wo0nc,3828
16
+ brdocs_validation-0.4.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
17
+ brdocs_validation-0.4.0.dist-info/top_level.txt,sha256=COjwP4hy4qNtPXnPVmsgWBi_-2Byyw_0gmjorp3UnRA,8
18
+ brdocs_validation-0.4.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5