Skip to content

Commit c4c4842

Browse files
committed
Updated the python SDK core models to match that of the other SDKs. Also fixed some of the Tinker related imports.
1 parent 5bc3d5d commit c4c4842

23 files changed

+960
-929
lines changed

bunq/__init__.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from bunq.sdk.http.pagination import Pagination
22
from bunq.sdk.json import converter
3+
from bunq.sdk.model.core.anchored_object_interface import AnchoredObjectInterface
34

45

56
def initialize_converter():
@@ -12,15 +13,16 @@ def initialize_converter():
1213

1314
from bunq.sdk.http import api_client
1415
from bunq.sdk.context import api_context
15-
from bunq.sdk.model import core
1616
from bunq.sdk.json import adapters
1717
from bunq.sdk.json import converter
1818
from bunq.sdk.model.generated import object_
1919
from bunq.sdk.model.generated import endpoint
20+
from bunq.sdk.model.core.installation import Installation
21+
from bunq.sdk.model.core.session_server import SessionServer
2022

21-
converter.register_adapter(core.Installation, adapters.InstallationAdapter)
23+
converter.register_adapter(Installation, adapters.InstallationAdapter)
2224
converter.register_adapter(
23-
core.SessionServer,
25+
SessionServer,
2426
adapters.SessionServerAdapter
2527
)
2628
converter.register_adapter(
@@ -41,10 +43,10 @@ def initialize_converter():
4143
converter.register_adapter(datetime.datetime, adapters.DateTimeAdapter)
4244
converter.register_adapter(Pagination, adapters.PaginationAdapter)
4345

44-
def register_anchor_adapter(class_to_regsiter):
45-
if issubclass(class_to_regsiter, core.AnchoredObjectInterface):
46+
def register_anchor_adapter(class_to_register):
47+
if issubclass(class_to_register, AnchoredObjectInterface):
4648
converter.register_adapter(
47-
class_to_regsiter,
49+
class_to_register,
4850
adapters.AnchoredObjectModelAdapter
4951
)
5052

bunq/sdk/context/api_context.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from bunq.sdk.context.session_context import SessionContext
88
from bunq.sdk.exception.bunq_exception import BunqException
99
from bunq.sdk.json import converter
10-
from bunq.sdk.model import core
1110
from bunq.sdk.model.generated import endpoint
1211
from bunq.sdk.security import security
1312

@@ -72,7 +71,8 @@ def _initialize_installation(self):
7271
"""
7372

7473
private_key_client = security.generate_rsa_private_key()
75-
installation = core.Installation.create(
74+
from bunq.sdk.model.core.installation import Installation
75+
installation = Installation.create(
7676
self,
7777
security.public_key_to_string(private_key_client.publickey())
7878
).value
@@ -96,7 +96,7 @@ def _register_device(self, device_description,
9696
:rtype: None
9797
"""
9898

99-
from bunq.sdk.model.device_server_internal import DeviceServerInternal
99+
from bunq.sdk.model.core.device_server_internal import DeviceServerInternal
100100

101101
DeviceServerInternal.create(
102102
device_description,
@@ -110,7 +110,8 @@ def _initialize_session(self):
110110
:rtype: None
111111
"""
112112

113-
session_server = core.SessionServer.create(self).value
113+
from bunq.sdk.model.core.session_server import SessionServer
114+
session_server = SessionServer.create(self).value
114115
token = session_server.token.token
115116
expiry_time = self._get_expiry_timestamp(session_server)
116117
user_id = session_server.get_referenced_user().id_
@@ -120,7 +121,7 @@ def _initialize_session(self):
120121
@classmethod
121122
def _get_expiry_timestamp(cls, session_server):
122123
"""
123-
:type session_server: core.SessionServer
124+
:type session_server: SessionServer
124125
125126
:rtype: datetime.datetime
126127
"""
@@ -133,7 +134,7 @@ def _get_expiry_timestamp(cls, session_server):
133134
@classmethod
134135
def _get_session_timeout_seconds(cls, session_server):
135136
"""
136-
:type session_server: core.SessionServer
137+
:type session_server: SessionServer
137138
138139
:rtype: int
139140
"""

bunq/sdk/context/user_context.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from bunq.sdk.exception.bunq_exception import BunqException
2-
from bunq.sdk.model import core
32
from bunq.sdk.model.generated import endpoint
43

54

@@ -25,7 +24,7 @@ def __init__(self, user_id):
2524
@staticmethod
2625
def __get_user_object():
2726
"""
28-
:rtype: core.BunqModel
27+
:rtype: BunqModel
2928
"""
3029

3130
return endpoint.User.list().value[0].get_referenced_object()

bunq/sdk/json/adapters.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import datetime
22
import urllib.parse as urlparse
33

4-
from bunq import Pagination
4+
from bunq import Pagination, AnchoredObjectInterface
55
from bunq.sdk.context import api_context
66
from bunq.sdk.exception.bunq_exception import BunqException
7+
from bunq.sdk.model.core.id import Id
8+
from bunq.sdk.model.core.public_key_server import PublicKeyServer
9+
from bunq.sdk.model.core.session_token import SessionToken
710
from bunq.sdk.security import security
811
from bunq.sdk.json import converter
9-
from bunq.sdk.model import core
1012
from bunq.sdk.model.generated import endpoint
1113
from bunq.sdk.model.generated import object_
1214

@@ -24,7 +26,7 @@ class AnchoredObjectModelAdapter(converter.JsonAdapter):
2426
@classmethod
2527
def deserialize(cls, cls_target, obj_raw):
2628
"""
27-
:type cls_target: core.BunqModel
29+
:type cls_target: BunqModel
2830
:type obj_raw: int|str|bool|float|list|dict|None
2931
3032
:rtype: T
@@ -34,7 +36,7 @@ def deserialize(cls, cls_target, obj_raw):
3436

3537
if isinstance(
3638
model_,
37-
core.AnchoredObjectInterface
39+
AnchoredObjectInterface
3840
) and model_.is_all_field_none():
3941
for field in model_.__dict__:
4042
object_class = cls._get_object_class(field)
@@ -55,7 +57,7 @@ def can_serialize(cls):
5557
def _get_object_class(cls, class_name):
5658
"""
5759
:type class_name: str
58-
:rtype: core.BunqModel
60+
:rtype: BunqModel
5961
"""
6062

6163
class_name = class_name.lstrip(cls.__STRING_FORMAT_UNDERSCORE)
@@ -95,25 +97,25 @@ class InstallationAdapter(converter.JsonAdapter):
9597
@classmethod
9698
def deserialize(cls, target_class, array):
9799
"""
98-
:type target_class: core.Installation|type
100+
:type target_class: Installation|type
99101
:type array: list
100102
101-
:rtype: core.Installation
103+
:rtype: Installation
102104
"""
103105

104106
installation = target_class.__new__(target_class)
105107
server_public_key_wrapped = array[cls._INDEX_SERVER_PUBLIC_KEY]
106108
installation.__dict__ = {
107109
cls._ATTRIBUTE_ID: converter.deserialize(
108-
core.Id,
110+
Id,
109111
array[cls._INDEX_ID][cls._FIELD_ID]
110112
),
111113
cls._ATTRIBUTE_TOKEN: converter.deserialize(
112-
core.SessionToken,
114+
SessionToken,
113115
array[cls._INDEX_TOKEN][cls._FIELD_TOKEN]
114116
),
115117
cls._ATTRIBUTE_SERVER_PUBLIC_KEY: converter.deserialize(
116-
core.PublicKeyServer,
118+
PublicKeyServer,
117119
server_public_key_wrapped[cls._FIELD_SERVER_PUBLIC_KEY]
118120
),
119121
}
@@ -123,7 +125,7 @@ def deserialize(cls, target_class, array):
123125
@classmethod
124126
def serialize(cls, installation):
125127
"""
126-
:type installation: core.Installation
128+
:type installation: Installation
127129
128130
:rtype: list
129131
"""
@@ -171,20 +173,20 @@ class SessionServerAdapter(converter.JsonAdapter):
171173
@classmethod
172174
def deserialize(cls, target_class, array):
173175
"""
174-
:type target_class: core.SessionServer|type
176+
:type target_class: SessionServer|type
175177
:type array: list
176178
177-
:rtype: core.SessionServer
179+
:rtype: SessionServer
178180
"""
179181

180182
session_server = target_class.__new__(target_class)
181183
session_server.__dict__ = {
182184
cls._ATTRIBUTE_ID: converter.deserialize(
183-
core.Id,
185+
Id,
184186
array[cls._INDEX_ID][cls._FIELD_ID]
185187
),
186188
cls._ATTRIBUTE_TOKEN: converter.deserialize(
187-
core.SessionToken,
189+
SessionToken,
188190
array[cls._INDEX_TOKEN][cls._FIELD_TOKEN]
189191
),
190192
cls._ATTRIBUTE_USER_COMPANY: None,
@@ -219,7 +221,7 @@ def deserialize(cls, target_class, array):
219221
@classmethod
220222
def serialize(cls, session_server):
221223
"""
222-
:type session_server: core.SessionServer
224+
:type session_server: SessionServer
223225
224226
:rtype: list
225227
"""

0 commit comments

Comments
 (0)