cuenca-validations 2.1.16.dev6__py3-none-any.whl → 2.1.16.dev7__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.
- cuenca_validations/types/__init__.py +8 -0
- cuenca_validations/types/enums.py +27 -27
- cuenca_validations/types/general.py +75 -2
- cuenca_validations/version.py +1 -1
- {cuenca_validations-2.1.16.dev6.dist-info → cuenca_validations-2.1.16.dev7.dist-info}/METADATA +1 -1
- {cuenca_validations-2.1.16.dev6.dist-info → cuenca_validations-2.1.16.dev7.dist-info}/RECORD +10 -10
- tests/test_types.py +33 -1
- {cuenca_validations-2.1.16.dev6.dist-info → cuenca_validations-2.1.16.dev7.dist-info}/WHEEL +0 -0
- {cuenca_validations-2.1.16.dev6.dist-info → cuenca_validations-2.1.16.dev7.dist-info}/licenses/LICENSE +0 -0
- {cuenca_validations-2.1.16.dev6.dist-info → cuenca_validations-2.1.16.dev7.dist-info}/top_level.txt +0 -0
|
@@ -110,6 +110,10 @@ __all__ = [
|
|
|
110
110
|
'WebhookEvent',
|
|
111
111
|
'digits',
|
|
112
112
|
'get_state_name',
|
|
113
|
+
'get_profession_name',
|
|
114
|
+
'get_account_use_type_name',
|
|
115
|
+
'get_monthly_movements_type_name',
|
|
116
|
+
'get_monthly_spending_type_name',
|
|
113
117
|
'uuid_field',
|
|
114
118
|
'LogConfig',
|
|
115
119
|
]
|
|
@@ -169,6 +173,10 @@ from .general import (
|
|
|
169
173
|
SantizedDict,
|
|
170
174
|
StrictPositiveInt,
|
|
171
175
|
digits,
|
|
176
|
+
get_account_use_type_name,
|
|
177
|
+
get_monthly_movements_type_name,
|
|
178
|
+
get_monthly_spending_type_name,
|
|
179
|
+
get_profession_name,
|
|
172
180
|
get_state_name,
|
|
173
181
|
)
|
|
174
182
|
from .helpers import uuid_field
|
|
@@ -691,39 +691,39 @@ class SATRegimeCode(str, Enum):
|
|
|
691
691
|
|
|
692
692
|
|
|
693
693
|
class Profession(str, Enum):
|
|
694
|
-
artisticas = '
|
|
695
|
-
agropecuario = '
|
|
696
|
-
comercio = '
|
|
697
|
-
estudiante = '
|
|
698
|
-
empleado = '
|
|
699
|
-
emprendimiento = '
|
|
700
|
-
hogar = '
|
|
701
|
-
profesor = '
|
|
702
|
-
profesionista = '
|
|
703
|
-
servidor_publico = '
|
|
704
|
-
sistemas = '
|
|
705
|
-
independiente = '
|
|
706
|
-
oficios = '
|
|
694
|
+
artisticas = 'artisticas'
|
|
695
|
+
agropecuario = 'agropecuario'
|
|
696
|
+
comercio = 'comercio'
|
|
697
|
+
estudiante = 'estudiante'
|
|
698
|
+
empleado = 'empleado'
|
|
699
|
+
emprendimiento = 'emprendimiento'
|
|
700
|
+
hogar = 'hogar'
|
|
701
|
+
profesor = 'profesor'
|
|
702
|
+
profesionista = 'profesionista'
|
|
703
|
+
servidor_publico = 'servidor_publico'
|
|
704
|
+
sistemas = 'sistemas'
|
|
705
|
+
independiente = 'independiente'
|
|
706
|
+
oficios = 'oficios'
|
|
707
707
|
|
|
708
708
|
|
|
709
709
|
class AccountUseTypes(str, Enum):
|
|
710
|
-
personal_expenses = '
|
|
711
|
-
business_expenses = '
|
|
712
|
-
payment_of_goods_or_services = '
|
|
713
|
-
send_or_receive_transfers = '
|
|
710
|
+
personal_expenses = 'personal_expenses'
|
|
711
|
+
business_expenses = 'business_expenses'
|
|
712
|
+
payment_of_goods_or_services = 'payment_of_goods_or_services'
|
|
713
|
+
send_or_receive_transfers = 'send_or_receive_transfers'
|
|
714
714
|
|
|
715
715
|
|
|
716
716
|
class MonthlyMovementsTypes(str, Enum):
|
|
717
|
-
between_1_and_20 = '
|
|
718
|
-
between_20_and_40 = '
|
|
719
|
-
between_40_and_60 = '
|
|
720
|
-
more_than_60 = '
|
|
717
|
+
between_1_and_20 = 'between_1_and_20'
|
|
718
|
+
between_20_and_40 = 'between_20_and_40'
|
|
719
|
+
between_40_and_60 = 'between_40_and_60'
|
|
720
|
+
more_than_60 = 'more_than_60'
|
|
721
721
|
|
|
722
722
|
|
|
723
723
|
class MonthlySpendingTypes(str, Enum):
|
|
724
|
-
less_than_1k = '
|
|
725
|
-
between_1k_and_10k = '
|
|
726
|
-
between_10k_and_20k = '
|
|
727
|
-
between_20k_and_50k = '
|
|
728
|
-
between_50k_and_100k = '
|
|
729
|
-
more_than_100k = '
|
|
724
|
+
less_than_1k = 'less_than_1k'
|
|
725
|
+
between_1k_and_10k = 'between_1k_and_10k'
|
|
726
|
+
between_10k_and_20k = 'between_10k_and_20k'
|
|
727
|
+
between_20k_and_50k = 'between_20k_and_50k'
|
|
728
|
+
between_50k_and_100k = 'between_50k_and_100k'
|
|
729
|
+
more_than_100k = 'more_than_100k'
|
|
@@ -12,7 +12,13 @@ from pydantic import (
|
|
|
12
12
|
)
|
|
13
13
|
|
|
14
14
|
from ..validators import sanitize_dict, sanitize_item
|
|
15
|
-
from .enums import
|
|
15
|
+
from .enums import (
|
|
16
|
+
AccountUseTypes,
|
|
17
|
+
MonthlyMovementsTypes,
|
|
18
|
+
MonthlySpendingTypes,
|
|
19
|
+
Profession,
|
|
20
|
+
State,
|
|
21
|
+
)
|
|
16
22
|
|
|
17
23
|
# We use custom serializers for IP addresses and URLs because
|
|
18
24
|
# Pydantic's IPvAnyAddress, AnyUrl, HttpUrl types are not JSON serializable.
|
|
@@ -96,10 +102,77 @@ names_state = {
|
|
|
96
102
|
}
|
|
97
103
|
|
|
98
104
|
|
|
99
|
-
def get_state_name(state: State):
|
|
105
|
+
def get_state_name(state: State) -> str:
|
|
100
106
|
return names_state[state]
|
|
101
107
|
|
|
102
108
|
|
|
109
|
+
names_professions = {
|
|
110
|
+
Profession.artisticas: 'Actividades Artísticas',
|
|
111
|
+
Profession.agropecuario: 'Agricultura, Ganadería o Pesca',
|
|
112
|
+
Profession.comercio: 'Comercio',
|
|
113
|
+
Profession.estudiante: 'Estudiante',
|
|
114
|
+
Profession.empleado: 'Empleado(a/e)',
|
|
115
|
+
Profession.emprendimiento: 'Emprendimiento',
|
|
116
|
+
Profession.hogar: 'Hogar',
|
|
117
|
+
Profession.profesor: 'Profesor(a/e)',
|
|
118
|
+
Profession.profesionista: 'Profesionista',
|
|
119
|
+
Profession.servidor_publico: 'Servidor(a/e) Público',
|
|
120
|
+
Profession.sistemas: 'Sistemas y Comunicaciones',
|
|
121
|
+
Profession.independiente: 'Trabajador(a/e) Independiente',
|
|
122
|
+
Profession.oficios: 'Oficios Varios',
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def get_profession_name(profession: Profession) -> str:
|
|
127
|
+
return names_professions[profession]
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
names_account_use_types = {
|
|
131
|
+
AccountUseTypes.personal_expenses: 'Gastos personales o familiares',
|
|
132
|
+
AccountUseTypes.business_expenses: (
|
|
133
|
+
'Gastos relacionados con tu actividad económica'
|
|
134
|
+
),
|
|
135
|
+
AccountUseTypes.payment_of_goods_or_services: 'Pago de bienes o servicios',
|
|
136
|
+
AccountUseTypes.send_or_receive_transfers: (
|
|
137
|
+
'Enviar o recibir transferencias'
|
|
138
|
+
),
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def get_account_use_type_name(account_use_type: AccountUseTypes) -> str:
|
|
143
|
+
return names_account_use_types[account_use_type]
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
names_monthly_movements_types = {
|
|
147
|
+
MonthlyMovementsTypes.between_1_and_20: 'Entre 1 y 20 movimientos',
|
|
148
|
+
MonthlyMovementsTypes.between_20_and_40: 'Entre 20 y 40 movimientos',
|
|
149
|
+
MonthlyMovementsTypes.between_40_and_60: 'Entre 40 y 60 movimientos',
|
|
150
|
+
MonthlyMovementsTypes.more_than_60: 'Más de 60 movimientos',
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def get_monthly_movements_type_name(
|
|
155
|
+
monthly_movements_type: MonthlyMovementsTypes,
|
|
156
|
+
) -> str:
|
|
157
|
+
return names_monthly_movements_types[monthly_movements_type]
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
names_monthly_spending_types = {
|
|
161
|
+
MonthlySpendingTypes.less_than_1k: 'Menos de $1,000',
|
|
162
|
+
MonthlySpendingTypes.between_1k_and_10k: 'Entre $1,000 y $10,000',
|
|
163
|
+
MonthlySpendingTypes.between_10k_and_20k: 'Entre $10,000 y $20,000',
|
|
164
|
+
MonthlySpendingTypes.between_20k_and_50k: 'Entre $20,000 y $50,000',
|
|
165
|
+
MonthlySpendingTypes.between_50k_and_100k: 'Entre $50,000 y $100,000',
|
|
166
|
+
MonthlySpendingTypes.more_than_100k: 'Más de $100,000',
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def get_monthly_spending_type_name(
|
|
171
|
+
monthly_spending_type: MonthlySpendingTypes,
|
|
172
|
+
) -> str:
|
|
173
|
+
return names_monthly_spending_types[monthly_spending_type]
|
|
174
|
+
|
|
175
|
+
|
|
103
176
|
@dataclass
|
|
104
177
|
class LogConfig:
|
|
105
178
|
masked: bool = False
|
cuenca_validations/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '2.1.16.
|
|
1
|
+
__version__ = '2.1.16.dev7'
|
{cuenca_validations-2.1.16.dev6.dist-info → cuenca_validations-2.1.16.dev7.dist-info}/RECORD
RENAMED
|
@@ -4,26 +4,26 @@ cuenca_validations/errors.py,sha256=OtM8EgiKqYdz9Hn66AbBO96orL1or7efkyt0vh0Zxbs,
|
|
|
4
4
|
cuenca_validations/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
cuenca_validations/typing.py,sha256=1QCu81IbVZZpyInjyeAuO-nF36gpT5Gi4o6V9PozuOU,204
|
|
6
6
|
cuenca_validations/validators.py,sha256=mYJDXxJVokl5jZIA4FYn8wkaMUnOxAH54t1Pfg_0kmQ,1190
|
|
7
|
-
cuenca_validations/version.py,sha256=
|
|
8
|
-
cuenca_validations/types/__init__.py,sha256=
|
|
7
|
+
cuenca_validations/version.py,sha256=qawF-kLYMYXIdqgBiQeMWY7wduiaZwKXQfTbMP0E7H8,28
|
|
8
|
+
cuenca_validations/types/__init__.py,sha256=Wy9HGpF_V12DnMqd5PUYUpReGVhvpALzrxFP7UL5L54,5333
|
|
9
9
|
cuenca_validations/types/card.py,sha256=UGzz8NTFAverUmdUKAK1oGHnOnjSNTpIRUm93vKSSGY,1295
|
|
10
|
-
cuenca_validations/types/enums.py,sha256=
|
|
10
|
+
cuenca_validations/types/enums.py,sha256=Fi6SzVavV6gdvIC1lQXdX1VlPjTgK-XxNEHCpEzSuFs,20183
|
|
11
11
|
cuenca_validations/types/files.py,sha256=2CszbwF9ytXV9suFFwyDjYG4XxY8UhCjRw3HttVXXNw,269
|
|
12
|
-
cuenca_validations/types/general.py,sha256=
|
|
12
|
+
cuenca_validations/types/general.py,sha256=OiFdzFc5pIoXB0Tmm3IAIfdGP0-5GaeVwvfzHNypTo8,5092
|
|
13
13
|
cuenca_validations/types/helpers.py,sha256=XPiYVTLDtmBB5R1heWUy1c35zZMh7nh-BmS6rtwEltg,1379
|
|
14
14
|
cuenca_validations/types/identities.py,sha256=1wkutHzL9Gpd9oAZdyiikNxWKe5iBVAQT3TabR6YG1o,5451
|
|
15
15
|
cuenca_validations/types/morals.py,sha256=davabh5hAnFVQyM7-yCyDaT5ewXnm0cr1BtqDIwzkX8,1833
|
|
16
16
|
cuenca_validations/types/queries.py,sha256=Pp7BAPk20hzImxb5EIiy3oI8S6AeCruU-NbQpOlrWVo,5146
|
|
17
17
|
cuenca_validations/types/requests.py,sha256=WDibEaZS94YLjRDY6oS7Wr7KZba6MwHSWxYENSXUk6I,21581
|
|
18
|
-
cuenca_validations-2.1.16.
|
|
18
|
+
cuenca_validations-2.1.16.dev7.dist-info/licenses/LICENSE,sha256=wR76FmxBbfnQpwELkkE5iMF8sFIafEMgXLTE4N4WPTc,1063
|
|
19
19
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
20
|
tests/test_card.py,sha256=QAfRz7e11gWICPnFJZ2tiYgUsFV3C9TwzJXrDnDNXFw,1202
|
|
21
21
|
tests/test_errors.py,sha256=ixiIgEuBuzfsL5p4uCFdF32XqFRtTPF6EVhGJ0keOrI,930
|
|
22
22
|
tests/test_helpers.py,sha256=ubzpi1UXCryLQdgsT_Zm2IX-XE_4L0dnHnhLwH06xK8,748
|
|
23
23
|
tests/test_requests.py,sha256=HGKybPNlN-Vbf2Ew34csfMR5UzZdVPoX9J8eeD4yCiI,1095
|
|
24
24
|
tests/test_statement.py,sha256=IOE0rRRBgBZSJv_FLaETEyn5NzzXKMNTqgjv99GX-68,1436
|
|
25
|
-
tests/test_types.py,sha256=
|
|
26
|
-
cuenca_validations-2.1.16.
|
|
27
|
-
cuenca_validations-2.1.16.
|
|
28
|
-
cuenca_validations-2.1.16.
|
|
29
|
-
cuenca_validations-2.1.16.
|
|
25
|
+
tests/test_types.py,sha256=5q1BJhismfrmJ29LNlwa0DoGxKkMWyo6xc3Z6cwc1Wo,19917
|
|
26
|
+
cuenca_validations-2.1.16.dev7.dist-info/METADATA,sha256=tGB4yBUb71KHedabhMp6T5MG2OxDF82osGgr6lhQKlY,1600
|
|
27
|
+
cuenca_validations-2.1.16.dev7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
28
|
+
cuenca_validations-2.1.16.dev7.dist-info/top_level.txt,sha256=4233xdOs2HtuT-GFRjcDcwK0IwdwvWdczOtk0fPB6Gw,25
|
|
29
|
+
cuenca_validations-2.1.16.dev7.dist-info/RECORD,,
|
tests/test_types.py
CHANGED
|
@@ -17,10 +17,17 @@ from cuenca_validations.types import (
|
|
|
17
17
|
SessionRequest,
|
|
18
18
|
TransactionStatus,
|
|
19
19
|
digits,
|
|
20
|
+
get_account_use_type_name,
|
|
21
|
+
get_monthly_movements_type_name,
|
|
22
|
+
get_monthly_spending_type_name,
|
|
23
|
+
get_profession_name,
|
|
20
24
|
get_state_name,
|
|
21
25
|
)
|
|
22
26
|
from cuenca_validations.types.enums import (
|
|
27
|
+
AccountUseTypes,
|
|
23
28
|
EcommerceIndicator,
|
|
29
|
+
MonthlyMovementsTypes,
|
|
30
|
+
MonthlySpendingTypes,
|
|
24
31
|
Profession,
|
|
25
32
|
SessionType,
|
|
26
33
|
State,
|
|
@@ -544,10 +551,35 @@ def test_limited_wallet_request():
|
|
|
544
551
|
assert LimitedWalletRequest(allowed_curp=curp, allowed_rfc=rfc)
|
|
545
552
|
|
|
546
553
|
|
|
547
|
-
def test_get_state_name():
|
|
554
|
+
def test_get_state_name() -> None:
|
|
548
555
|
assert get_state_name(State.VZ) == 'Veracruz'
|
|
549
556
|
|
|
550
557
|
|
|
558
|
+
def test_get_profession_name() -> None:
|
|
559
|
+
assert get_profession_name(Profession.empleado) == 'Empleado(a/e)'
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
def test_get_account_use_type_name() -> None:
|
|
563
|
+
assert (
|
|
564
|
+
get_account_use_type_name(AccountUseTypes.personal_expenses)
|
|
565
|
+
== 'Gastos personales o familiares'
|
|
566
|
+
)
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
def test_get_monthly_spending_type_name() -> None:
|
|
570
|
+
assert (
|
|
571
|
+
get_monthly_spending_type_name(MonthlySpendingTypes.less_than_1k)
|
|
572
|
+
== 'Menos de $1,000'
|
|
573
|
+
)
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
def test_get_monthly_movements_type_name() -> None:
|
|
577
|
+
assert (
|
|
578
|
+
get_monthly_movements_type_name(MonthlyMovementsTypes.between_1_and_20)
|
|
579
|
+
== 'Entre 1 y 20 movimientos'
|
|
580
|
+
)
|
|
581
|
+
|
|
582
|
+
|
|
551
583
|
def test_bank_account_validation_clabe_request():
|
|
552
584
|
assert BankAccountValidationRequest(account_number='646180157098510917')
|
|
553
585
|
|
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.1.16.dev6.dist-info → cuenca_validations-2.1.16.dev7.dist-info}/top_level.txt
RENAMED
|
File without changes
|