Skip to content

Commit 5e2c585

Browse files
author
gabino
committed
refactor: update type hints to use built-in list and dict
1 parent 42d9677 commit 5e2c585

File tree

9 files changed

+25
-28
lines changed

9 files changed

+25
-28
lines changed

cuenca/resources/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import datetime as dt
33
import json
44
from io import BytesIO
5-
from typing import Any, ClassVar, Dict, Generator, Optional
5+
from typing import Any, ClassVar, Generator, Optional
66
from urllib.parse import urlencode
77

88
from cuenca_validations.types import (
@@ -24,7 +24,7 @@ class Resource(BaseModel):
2424
id: str
2525

2626
@classmethod
27-
def _from_dict(cls, obj_dict: Dict[str, Any]) -> 'Resource':
27+
def _from_dict(cls, obj_dict: dict[str, Any]) -> 'Resource':
2828
cls._filter_excess_fields(obj_dict)
2929
return cls(**obj_dict)
3030

cuenca/resources/card_transactions.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import ClassVar, List, Optional, cast
1+
from typing import ClassVar, Optional, cast
22

33
from cuenca_validations.types import (
44
CardErrorType,
@@ -20,19 +20,19 @@ class CardTransaction(Transaction):
2020

2121
type: CardTransactionType
2222
network: CardNetwork
23-
related_card_transaction_uris: List[str]
23+
related_card_transaction_uris: list[str]
2424
card_uri: str
2525
card_last4: str
2626
card_type: CardType
2727
metadata: dict
2828
error_type: Optional[CardErrorType] = None
2929

3030
@property # type: ignore
31-
def related_card_transactions(self) -> Optional[List['CardTransaction']]:
31+
def related_card_transactions(self) -> Optional[list['CardTransaction']]:
3232
if not self.related_card_transaction_uris:
3333
return []
3434
return cast(
35-
List['CardTransaction'],
35+
list['CardTransaction'],
3636
retrieve_uris(self.related_card_transaction_uris),
3737
)
3838

cuenca/resources/file_batches.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import ClassVar, Dict, List, cast
1+
from typing import ClassVar, cast
22

33
from cuenca_validations.types import (
44
BatchFileMetadata,
@@ -13,20 +13,20 @@
1313
class FileBatch(Creatable, Queryable):
1414
_resource: ClassVar = 'file_batches'
1515

16-
received_files: List[BatchFileMetadata]
17-
uploaded_files: List[BatchFileMetadata]
16+
received_files: list[BatchFileMetadata]
17+
uploaded_files: list[BatchFileMetadata]
1818
user_id: str
1919

2020
@classmethod
2121
def create(
2222
cls,
23-
files: List[Dict],
23+
files: list[dict],
2424
user_id: str,
2525
*,
2626
session: Session = global_session,
2727
) -> 'FileBatch':
2828
req = FileBatchUploadRequest(
29-
files=cast(List[FileRequest], files), user_id=user_id
29+
files=cast(list[FileRequest], files), user_id=user_id
3030
)
3131
return cast(
3232
'FileBatch', cls._create(session=session, **req.model_dump())

cuenca/resources/resources.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import re
2-
from typing import Dict, List, cast
2+
from typing import cast
33

44
from .base import Retrievable
55

66
ENDPOINT_RE = re.compile(r'.*/(?P<resource>[a-z_]+)/(?P<id>.+)$')
7-
RESOURCES: Dict[str, Retrievable] = {} # set in ./__init__.py after imports
7+
RESOURCES: dict[str, Retrievable] = {} # set in ./__init__.py after imports
88

99

1010
def retrieve_uri(uri: str) -> Retrievable:
@@ -15,7 +15,7 @@ def retrieve_uri(uri: str) -> Retrievable:
1515
return cast(Retrievable, RESOURCES[resource].retrieve(id_))
1616

1717

18-
def retrieve_uris(uris: List[str]) -> List[Retrievable]:
18+
def retrieve_uris(uris: list[str]) -> list[Retrievable]:
1919
# Changed the implementation to use a simple for loop instead of
2020
# ThreadPoolExecutor. The list of URIs is small, so the performance
2121
# difference is negligible. Additionally, using ThreadPoolExecutor

cuenca/resources/service_providers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import ClassVar, List
1+
from typing import ClassVar
22

33
from cuenca_validations.types import ServiceProviderCategory
44

@@ -10,4 +10,4 @@ class ServiceProvider(Retrievable, Queryable):
1010

1111
name: str
1212
provider_key: str
13-
categories: List[ServiceProviderCategory]
13+
categories: list[ServiceProviderCategory]

cuenca/resources/users.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import datetime as dt
2-
from typing import ClassVar, List, Optional, cast
2+
from typing import ClassVar, Optional, cast
33

44
from clabe import Clabe
55
from cuenca_validations.types import (
@@ -52,7 +52,7 @@ class User(Creatable, Retrievable, Updateable, Queryable):
5252
proof_of_life: Optional[KYCFile] = Field(
5353
None, description='Detail of selfie video validation'
5454
)
55-
beneficiaries: Optional[List[Beneficiary]] = Field(
55+
beneficiaries: Optional[list[Beneficiary]] = Field(
5656
None, description='Beneficiaries of account in case of death'
5757
)
5858
platform_id: Optional[str] = None
@@ -140,7 +140,7 @@ def update(
140140
email_address: Optional[str] = None,
141141
profession: Optional[str] = None,
142142
address: Optional[Address] = None,
143-
beneficiaries: Optional[List[Beneficiary]] = None,
143+
beneficiaries: Optional[list[Beneficiary]] = None,
144144
govt_id: Optional[KYCFile] = None,
145145
proof_of_address: Optional[KYCFile] = None,
146146
proof_of_life: Optional[KYCFile] = None,

cuenca/resources/webhooks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, ClassVar, Dict
1+
from typing import Any, ClassVar
22

33
from cuenca_validations.types.enums import WebhookEvent
44
from pydantic import Field
@@ -9,7 +9,7 @@
99
class Webhook(Retrievable, Queryable):
1010
_resource: ClassVar = 'webhooks'
1111

12-
payload: Dict[str, Any] = Field(
12+
payload: dict[str, Any] = Field(
1313
..., description='object sent by the webhook'
1414
)
1515
event: WebhookEvent = Field(

tests/conftest.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import datetime as dt
22
from io import BytesIO
3-
from typing import Dict
43

54
import pytest
65
from cuenca_validations.types import Country, Gender, State
@@ -31,7 +30,7 @@ def transfer():
3130

3231

3332
@pytest.fixture
34-
def curp_validation_request() -> Dict:
33+
def curp_validation_request() -> dict:
3534
curp_validation = dict(
3635
names='José',
3736
first_surname='López',
@@ -45,7 +44,7 @@ def curp_validation_request() -> Dict:
4544

4645

4746
@pytest.fixture
48-
def user_request() -> Dict:
47+
def user_request() -> dict:
4948
user_dict = dict(
5049
curp='LOHJ660606HDFPRS02',
5150
phone_number='+525511223344',
@@ -64,7 +63,7 @@ def user_request() -> Dict:
6463

6564

6665
@pytest.fixture
67-
def user_lists_request() -> Dict:
66+
def user_lists_request() -> dict:
6867
user_dict = dict(
6968
curp='LOHJ660606HDFPRS02',
7069
names='Alejandro',

tests/resources/test_sessions.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from typing import Dict
2-
31
import pytest
42
from cuenca_validations.types import SessionType
53
from pydantic import ValidationError
@@ -9,7 +7,7 @@
97

108

119
@pytest.mark.vcr
12-
def test_session_create(curp_validation_request: Dict, user_request: Dict):
10+
def test_session_create(curp_validation_request: dict, user_request: dict):
1311
curp_valdation = CurpValidation.create(**curp_validation_request)
1412
user_request['curp'] = curp_valdation.validated_curp
1513
user = User.create(**user_request)

0 commit comments

Comments
 (0)