MambuPy 2.3.0__py3-none-any.whl → 2.3.1__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.
MambuPy/__init__.py CHANGED
@@ -37,7 +37,7 @@ import sys
37
37
  from importlib.abc import MetaPathFinder
38
38
  from importlib.util import spec_from_file_location
39
39
 
40
- __version__ = "2.3.0"
40
+ __version__ = "2.3.1"
41
41
  """The version of this module."""
42
42
 
43
43
 
MambuPy/api/mambuloan.py CHANGED
@@ -9,8 +9,6 @@ import copy
9
9
  import datetime
10
10
  import json
11
11
 
12
- from dateutil.tz import tzlocal
13
-
14
12
  from .entities import (
15
13
  MambuEntity,
16
14
  MambuEntityWritable,
@@ -184,32 +182,24 @@ class MambuLoan(
184
182
 
185
183
  if firstRepaymentDate:
186
184
  if not firstRepaymentDate.tzinfo:
187
- timezone_firstRepaymentDate = datetime.timezone(
188
- datetime.timedelta(
189
- hours=int(
190
- self.disbursementDetails._tzattrs["firstRepaymentDate"][-6:-3]
191
- )
192
- )
193
- )
194
- firstRepaymentDate = firstRepaymentDate.astimezone(
195
- timezone_firstRepaymentDate
196
- )
185
+ tzname = self.disbursementDetails._tzattrs["firstRepaymentDate"]
186
+ offset_str = tzname[3:] or "+00:00"
187
+ tz_info = datetime.datetime.fromisoformat(
188
+ "2000-01-01T00:00:00" + offset_str
189
+ ).tzinfo
190
+ firstRepaymentDate = firstRepaymentDate.astimezone(tz_info)
197
191
  firstRepaymentDate = firstRepaymentDate.isoformat()
198
192
  else:
199
193
  firstRepaymentDate = self.disbursementDetails.firstRepaymentDate
200
194
 
201
195
  if disbursementDate:
202
196
  if not disbursementDate.tzinfo:
203
- timezone_disbursementDate = datetime.timezone(
204
- datetime.timedelta(
205
- hours=int(
206
- self.disbursementDetails._tzattrs["expectedDisbursementDate"][
207
- -6:-3
208
- ]
209
- )
210
- )
211
- )
212
- disbursementDate = disbursementDate.astimezone(timezone_disbursementDate)
197
+ tzname = self.disbursementDetails._tzattrs["expectedDisbursementDate"]
198
+ offset_str = tzname[3:] or "+00:00"
199
+ tz_info = datetime.datetime.fromisoformat(
200
+ "2000-01-01T00:00:00" + offset_str
201
+ ).tzinfo
202
+ disbursementDate = disbursementDate.astimezone(tz_info)
213
203
  disbursementDate = disbursementDate.isoformat()
214
204
  else:
215
205
  disbursementDate = self.disbursementDetails.expectedDisbursementDate
@@ -265,10 +255,14 @@ class MambuLoan(
265
255
  structure defined at
266
256
  :py:obj:`MambuPy.api.vos.MambuLoanTransactionDetailsInput._schema_fields`.
267
257
  """
268
- valueDate = datetime.datetime.strptime(
269
- valueDate.strftime("%Y-%m-%d %H%M%S"), "%Y-%m-%d %H%M%S"
270
- )
271
- valueDate = valueDate.astimezone(tzlocal()).isoformat()
258
+ if not valueDate.tzinfo:
259
+ tzname = self.disbursementDetails._tzattrs["firstRepaymentDate"]
260
+ offset_str = tzname[3:] or "+00:00"
261
+ tz_info = datetime.datetime.fromisoformat(
262
+ "2000-01-01T00:00:00" + offset_str
263
+ ).tzinfo
264
+ valueDate = valueDate.astimezone(tz_info)
265
+ valueDate = valueDate.isoformat()
272
266
 
273
267
  self._connector.mambu_make_repayment(
274
268
  self.id,
@@ -312,10 +306,14 @@ class MambuLoan(
312
306
  request. :py:obj:`MambuPy.api.vos.MambuFeeLoanTransactionInput._schema_fields`
313
307
  has the allowed fields permitted for this operation
314
308
  """
315
- valueDate = datetime.datetime.strptime(
316
- valueDate.strftime("%Y-%m-%d %H%M%S"), "%Y-%m-%d %H%M%S"
317
- )
318
- valueDate = valueDate.astimezone(tzlocal()).isoformat()
309
+ if not valueDate.tzinfo:
310
+ tzname = self.disbursementDetails._tzattrs["firstRepaymentDate"]
311
+ offset_str = tzname[3:] or "+00:00"
312
+ tz_info = datetime.datetime.fromisoformat(
313
+ "2000-01-01T00:00:00" + offset_str
314
+ ).tzinfo
315
+ valueDate = valueDate.astimezone(tz_info)
316
+ valueDate = valueDate.isoformat()
319
317
 
320
318
  self._connector.mambu_make_fee(
321
319
  self.id,
mambupy/__init__.py CHANGED
@@ -37,7 +37,7 @@ import sys
37
37
  from importlib.abc import MetaPathFinder
38
38
  from importlib.util import spec_from_file_location
39
39
 
40
- __version__ = "2.3.0"
40
+ __version__ = "2.3.1"
41
41
  """The version of this module."""
42
42
 
43
43
 
mambupy/api/mambuloan.py CHANGED
@@ -9,8 +9,6 @@ import copy
9
9
  import datetime
10
10
  import json
11
11
 
12
- from dateutil.tz import tzlocal
13
-
14
12
  from .entities import (
15
13
  MambuEntity,
16
14
  MambuEntityWritable,
@@ -184,32 +182,24 @@ class MambuLoan(
184
182
 
185
183
  if firstRepaymentDate:
186
184
  if not firstRepaymentDate.tzinfo:
187
- timezone_firstRepaymentDate = datetime.timezone(
188
- datetime.timedelta(
189
- hours=int(
190
- self.disbursementDetails._tzattrs["firstRepaymentDate"][-6:-3]
191
- )
192
- )
193
- )
194
- firstRepaymentDate = firstRepaymentDate.astimezone(
195
- timezone_firstRepaymentDate
196
- )
185
+ tzname = self.disbursementDetails._tzattrs["firstRepaymentDate"]
186
+ offset_str = tzname[3:] or "+00:00"
187
+ tz_info = datetime.datetime.fromisoformat(
188
+ "2000-01-01T00:00:00" + offset_str
189
+ ).tzinfo
190
+ firstRepaymentDate = firstRepaymentDate.astimezone(tz_info)
197
191
  firstRepaymentDate = firstRepaymentDate.isoformat()
198
192
  else:
199
193
  firstRepaymentDate = self.disbursementDetails.firstRepaymentDate
200
194
 
201
195
  if disbursementDate:
202
196
  if not disbursementDate.tzinfo:
203
- timezone_disbursementDate = datetime.timezone(
204
- datetime.timedelta(
205
- hours=int(
206
- self.disbursementDetails._tzattrs["expectedDisbursementDate"][
207
- -6:-3
208
- ]
209
- )
210
- )
211
- )
212
- disbursementDate = disbursementDate.astimezone(timezone_disbursementDate)
197
+ tzname = self.disbursementDetails._tzattrs["expectedDisbursementDate"]
198
+ offset_str = tzname[3:] or "+00:00"
199
+ tz_info = datetime.datetime.fromisoformat(
200
+ "2000-01-01T00:00:00" + offset_str
201
+ ).tzinfo
202
+ disbursementDate = disbursementDate.astimezone(tz_info)
213
203
  disbursementDate = disbursementDate.isoformat()
214
204
  else:
215
205
  disbursementDate = self.disbursementDetails.expectedDisbursementDate
@@ -265,10 +255,14 @@ class MambuLoan(
265
255
  structure defined at
266
256
  :py:obj:`MambuPy.api.vos.MambuLoanTransactionDetailsInput._schema_fields`.
267
257
  """
268
- valueDate = datetime.datetime.strptime(
269
- valueDate.strftime("%Y-%m-%d %H%M%S"), "%Y-%m-%d %H%M%S"
270
- )
271
- valueDate = valueDate.astimezone(tzlocal()).isoformat()
258
+ if not valueDate.tzinfo:
259
+ tzname = self.disbursementDetails._tzattrs["firstRepaymentDate"]
260
+ offset_str = tzname[3:] or "+00:00"
261
+ tz_info = datetime.datetime.fromisoformat(
262
+ "2000-01-01T00:00:00" + offset_str
263
+ ).tzinfo
264
+ valueDate = valueDate.astimezone(tz_info)
265
+ valueDate = valueDate.isoformat()
272
266
 
273
267
  self._connector.mambu_make_repayment(
274
268
  self.id,
@@ -312,10 +306,14 @@ class MambuLoan(
312
306
  request. :py:obj:`MambuPy.api.vos.MambuFeeLoanTransactionInput._schema_fields`
313
307
  has the allowed fields permitted for this operation
314
308
  """
315
- valueDate = datetime.datetime.strptime(
316
- valueDate.strftime("%Y-%m-%d %H%M%S"), "%Y-%m-%d %H%M%S"
317
- )
318
- valueDate = valueDate.astimezone(tzlocal()).isoformat()
309
+ if not valueDate.tzinfo:
310
+ tzname = self.disbursementDetails._tzattrs["firstRepaymentDate"]
311
+ offset_str = tzname[3:] or "+00:00"
312
+ tz_info = datetime.datetime.fromisoformat(
313
+ "2000-01-01T00:00:00" + offset_str
314
+ ).tzinfo
315
+ valueDate = valueDate.astimezone(tz_info)
316
+ valueDate = valueDate.isoformat()
319
317
 
320
318
  self._connector.mambu_make_fee(
321
319
  self.id,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MambuPy
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: A python library for using Mambu APIs.
5
5
  Author-email: "Javier Novoa C." <jstitch@gmail.com>
6
6
  License: LICENSE
@@ -1,4 +1,4 @@
1
- MambuPy/__init__.py,sha256=_6z93UHdLUuGvDvGzkFbzGR2Sx9POdR1EAy3raI9yn4,1548
1
+ MambuPy/__init__.py,sha256=1SkWKTKLNAWoAivu2Yv_89ZPn9eBgclG8PKb7JFnR1s,1548
2
2
  MambuPy/mambuconfig.py,sha256=6T8jT9LvB2e2HkR6DVD-BwksOgucqo617_xYIlWrc3M,7441
3
3
  MambuPy/mambugeturl.py,sha256=D7jTr3tY1nPMXER-s5Uqaoi7_L6WjHTLLnqRYYWAh2Q,23405
4
4
  MambuPy/mambuutil.py,sha256=tcElYEix-GYsjfuCsKxrBaEsP3IB6PXv6fop7Ln5-9c,13455
@@ -11,7 +11,7 @@ MambuPy/api/mambucentre.py,sha256=2ferlA_8GTAoom-jwjBKVMUHGV0Um59vSl6_pdesT-4,95
11
11
  MambuPy/api/mambuclient.py,sha256=JEtajMTzCM3lDKIzVEGS1j7wMxo6y9zryztaXoBC6Ms,2006
12
12
  MambuPy/api/mambucustomfield.py,sha256=61dEHVmB4gcchGWJ51YVrcxXVyQfqmVffVWWAaBdtpQ,2233
13
13
  MambuPy/api/mambugroup.py,sha256=uOcevAlmxJajCLsAwsgqLbTxVmwssKZmZn-q02FaHDQ,1528
14
- MambuPy/api/mambuloan.py,sha256=58IpzRBMsjCVOlsI5FFOj8ow4xYnOAlA7Zr8LqJk8UY,11480
14
+ MambuPy/api/mambuloan.py,sha256=cammMQc7qmo9AB8mBzL-T7dy5zweKTFgs1NJIBDs6mM,11641
15
15
  MambuPy/api/mambuproduct.py,sha256=xD8BQSVuGQgjij0_u-wTR5zL_NRNmeuDK9-2GQNwknI,2871
16
16
  MambuPy/api/mamburole.py,sha256=TeeoM2MqhB1cd6TV_7nk1e6sVQRzFJehqTK8nEzqw7Y,565
17
17
  MambuPy/api/mambustruct.py,sha256=jqT4LCTOGA0zIICVvacVyKTTQ4DN2jAgU2m57XG5Soo,30435
@@ -41,7 +41,7 @@ MambuPy/rest/mambuactivity.py,sha256=lpLkTO4mtn3VfsmobAlWeAWqXWCTQ4I2f7koNiDIG54
41
41
  MambuPy/utils/__init__.py,sha256=xHJUVRE3PdETa8SPaUwdgKQfx8iMOAurSmnm7ROND_k,119
42
42
  MambuPy/utils/update_user_roles.py,sha256=CUkkBv2HJ-LaczmYu9Bud269Kb9NisJDoli64KZ1BeI,14675
43
43
  MambuPy/utils/userdeactivate.py,sha256=Rjlznm2KW23bqnrR_ogB36-O2rIHcBn9xTJdVIMynZQ,3134
44
- mambupy/__init__.py,sha256=_6z93UHdLUuGvDvGzkFbzGR2Sx9POdR1EAy3raI9yn4,1548
44
+ mambupy/__init__.py,sha256=1SkWKTKLNAWoAivu2Yv_89ZPn9eBgclG8PKb7JFnR1s,1548
45
45
  mambupy/mambuconfig.py,sha256=6T8jT9LvB2e2HkR6DVD-BwksOgucqo617_xYIlWrc3M,7441
46
46
  mambupy/mambugeturl.py,sha256=D7jTr3tY1nPMXER-s5Uqaoi7_L6WjHTLLnqRYYWAh2Q,23405
47
47
  mambupy/mambuutil.py,sha256=tcElYEix-GYsjfuCsKxrBaEsP3IB6PXv6fop7Ln5-9c,13455
@@ -54,7 +54,7 @@ mambupy/api/mambucentre.py,sha256=2ferlA_8GTAoom-jwjBKVMUHGV0Um59vSl6_pdesT-4,95
54
54
  mambupy/api/mambuclient.py,sha256=JEtajMTzCM3lDKIzVEGS1j7wMxo6y9zryztaXoBC6Ms,2006
55
55
  mambupy/api/mambucustomfield.py,sha256=61dEHVmB4gcchGWJ51YVrcxXVyQfqmVffVWWAaBdtpQ,2233
56
56
  mambupy/api/mambugroup.py,sha256=uOcevAlmxJajCLsAwsgqLbTxVmwssKZmZn-q02FaHDQ,1528
57
- mambupy/api/mambuloan.py,sha256=58IpzRBMsjCVOlsI5FFOj8ow4xYnOAlA7Zr8LqJk8UY,11480
57
+ mambupy/api/mambuloan.py,sha256=cammMQc7qmo9AB8mBzL-T7dy5zweKTFgs1NJIBDs6mM,11641
58
58
  mambupy/api/mambuproduct.py,sha256=xD8BQSVuGQgjij0_u-wTR5zL_NRNmeuDK9-2GQNwknI,2871
59
59
  mambupy/api/mamburole.py,sha256=TeeoM2MqhB1cd6TV_7nk1e6sVQRzFJehqTK8nEzqw7Y,565
60
60
  mambupy/api/mambustruct.py,sha256=jqT4LCTOGA0zIICVvacVyKTTQ4DN2jAgU2m57XG5Soo,30435
@@ -84,8 +84,8 @@ mambupy/rest/mambuactivity.py,sha256=lpLkTO4mtn3VfsmobAlWeAWqXWCTQ4I2f7koNiDIG54
84
84
  mambupy/utils/__init__.py,sha256=xHJUVRE3PdETa8SPaUwdgKQfx8iMOAurSmnm7ROND_k,119
85
85
  mambupy/utils/update_user_roles.py,sha256=CUkkBv2HJ-LaczmYu9Bud269Kb9NisJDoli64KZ1BeI,14675
86
86
  mambupy/utils/userdeactivate.py,sha256=Rjlznm2KW23bqnrR_ogB36-O2rIHcBn9xTJdVIMynZQ,3134
87
- mambupy-2.3.0.dist-info/licenses/LICENSE,sha256=8MsXxZQL8tpxeo5kLHxQ-46sKu11g-_YOu0YnceJhuA,35165
88
- mambupy-2.3.0.dist-info/METADATA,sha256=HqZX8Q2VvTWy08GbD15GoWAvoy2HsKSWZbQmQ86k6BY,43259
89
- mambupy-2.3.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
90
- mambupy-2.3.0.dist-info/top_level.txt,sha256=60TnLWD6zn0VyfBdMGCHI1_RLrKyG-anEUDQeGNpn9g,16
91
- mambupy-2.3.0.dist-info/RECORD,,
87
+ mambupy-2.3.1.dist-info/licenses/LICENSE,sha256=8MsXxZQL8tpxeo5kLHxQ-46sKu11g-_YOu0YnceJhuA,35165
88
+ mambupy-2.3.1.dist-info/METADATA,sha256=Sl7XR5V4LKDsld8RgY5qyZIuwm3UnqozaN7oIBhPPrM,43259
89
+ mambupy-2.3.1.dist-info/WHEEL,sha256=YCfwYGOYMi5Jhw2fU4yNgwErybb2IX5PEwBKV4ZbdBo,91
90
+ mambupy-2.3.1.dist-info/top_level.txt,sha256=60TnLWD6zn0VyfBdMGCHI1_RLrKyG-anEUDQeGNpn9g,16
91
+ mambupy-2.3.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.2)
2
+ Generator: setuptools (82.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5