python-terminusgps 48.1.0__tar.gz → 49.1.0__tar.gz
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.
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/PKG-INFO +2 -1
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/conf.py +1 -1
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/wialon/constants.rst +12 -1
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/pyproject.toml +2 -1
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/api/transactions.py +38 -0
- python_terminusgps-49.1.0/terminusgps/tests/authorizenet/__init__.py +0 -0
- python_terminusgps-49.1.0/terminusgps/tests/wialon/__init__.py +0 -0
- python_terminusgps-49.1.0/terminusgps/wialon/__init__.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/constants.py +34 -1
- python_terminusgps-49.1.0/uv.lock +1117 -0
- python_terminusgps-48.1.0/uv.lock +0 -611
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/.github/workflows/sphinx.yml +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/.gitignore +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/.python-version +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/COPYING +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/README.md +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/Makefile +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/make.bat +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/requirements.txt +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/authorizenet/api.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/authorizenet/constants.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/authorizenet/index.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/authorizenet/service.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/index.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/mixins.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/validators.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/wialon/exceptions.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/wialon/index.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/wialon/items.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/wialon/session.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/wialon/usage.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/docs/source/wialon/utils.rst +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/__init__.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/__init__.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/api/__init__.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/api/address_profiles.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/api/customer_profiles.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/api/payment_profiles.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/api/subscriptions.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/constants.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/service.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/default_settings.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/mixins.py +0 -0
- {python_terminusgps-48.1.0/terminusgps/wialon → python_terminusgps-49.1.0/terminusgps/tests}/__init__.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/validators.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/flags.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/__init__.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/account.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/base.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/factory.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/resource.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/retranslator.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/route.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/unit.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/unit_group.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/items/user.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/session.py +0 -0
- {python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/wialon/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-terminusgps
|
|
3
|
-
Version:
|
|
3
|
+
Version: 49.1.0
|
|
4
4
|
Summary: Provides abstractions/utilities for working with Wialon API, Authorize.NET API, AWS API, and more.
|
|
5
5
|
Project-URL: Documentation, https://terminusgps.github.io/python-terminusgps
|
|
6
6
|
Project-URL: Repository, https://github.com/terminusgps/python-terminusgps
|
|
@@ -13,6 +13,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
13
13
|
Requires-Python: >=3.12
|
|
14
14
|
Requires-Dist: authorizenet>=1.1.5
|
|
15
15
|
Requires-Dist: django>=5.2.7
|
|
16
|
+
Requires-Dist: py-aiowialon>=1.3.5
|
|
16
17
|
Requires-Dist: python-wialon>=1.2.4
|
|
17
18
|
Description-Content-Type: text/markdown
|
|
18
19
|
|
|
@@ -12,7 +12,7 @@ sys.path.insert(0, os.path.abspath("../../"))
|
|
|
12
12
|
project = "python-terminusgps"
|
|
13
13
|
copyright = "2025, Terminus GPS, LLC"
|
|
14
14
|
author = "Terminus GPS, LLC"
|
|
15
|
-
release = "
|
|
15
|
+
release = "49.1.0"
|
|
16
16
|
|
|
17
17
|
# -- General configuration ---------------------------------------------------
|
|
18
18
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
Constants
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
-
..
|
|
4
|
+
.. currentmodule:: terminusgps.wialon.constants
|
|
5
|
+
|
|
6
|
+
.. autoclass:: WialonMonthDayMask
|
|
7
|
+
:members:
|
|
8
|
+
:member-order: bysource
|
|
9
|
+
|
|
10
|
+
.. autoclass:: WialonMonthMask
|
|
5
11
|
:members:
|
|
12
|
+
:member-order: bysource
|
|
13
|
+
|
|
14
|
+
.. autoclass:: WialonWeekDayMask
|
|
15
|
+
:members:
|
|
16
|
+
:member-order: bysource
|
|
6
17
|
|
|
7
18
|
.. currentmodule:: terminusgps.wialon.flags
|
|
8
19
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "python-terminusgps"
|
|
3
|
-
version = "
|
|
3
|
+
version = "49.1.0"
|
|
4
4
|
description = "Provides abstractions/utilities for working with Wialon API, Authorize.NET API, AWS API, and more."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [ {name = "Blake Nall", email = "blake@terminusgps.com" } ]
|
|
@@ -14,6 +14,7 @@ requires-python = ">=3.12"
|
|
|
14
14
|
dependencies = [
|
|
15
15
|
"authorizenet>=1.1.5",
|
|
16
16
|
"django>=5.2.7",
|
|
17
|
+
"py-aiowialon>=1.3.5",
|
|
17
18
|
"python-wialon>=1.2.4",
|
|
18
19
|
]
|
|
19
20
|
|
{python_terminusgps-48.1.0 → python_terminusgps-49.1.0}/terminusgps/authorizenet/api/transactions.py
RENAMED
|
@@ -9,6 +9,7 @@ __all__ = [
|
|
|
9
9
|
"authorize_credit_card",
|
|
10
10
|
"capture_authorized_amount",
|
|
11
11
|
"refund_credit_card",
|
|
12
|
+
"charge_customer_profile",
|
|
12
13
|
]
|
|
13
14
|
|
|
14
15
|
|
|
@@ -199,3 +200,40 @@ def void_transaction(
|
|
|
199
200
|
apicontractsv1.transactionTypeEnum.voidTransaction
|
|
200
201
|
)
|
|
201
202
|
return request, apicontrollers.createTransactionController
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
def charge_customer_profile(
|
|
206
|
+
customer_profile_id: int,
|
|
207
|
+
payment_profile_id: int,
|
|
208
|
+
amount: Decimal,
|
|
209
|
+
line_items: apicontractsv1.ArrayOfLineItem | None = None,
|
|
210
|
+
) -> tuple[ObjectifiedElement, type[APIOperationBase]]:
|
|
211
|
+
"""
|
|
212
|
+
`Charges a customer profile <https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile>`_.
|
|
213
|
+
|
|
214
|
+
:param customer_profile_id: An Authorizenet customer profile id.
|
|
215
|
+
:type customer_profile_id: int
|
|
216
|
+
:param payment_profile_id: An Authorizenet payment profile id.
|
|
217
|
+
:type payment_profile_id: int
|
|
218
|
+
:param amount: Amount to change the customer profile.
|
|
219
|
+
:type amount: ~decimal.Decimal
|
|
220
|
+
:param line_items: An array of line items. Default is :py:obj:`None`.
|
|
221
|
+
:type line_items: ~apicontractsv1.ArrayOfLineItem | None
|
|
222
|
+
:returns: A tuple containing an Authorizenet API request element and controller class.
|
|
223
|
+
:rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]]
|
|
224
|
+
|
|
225
|
+
"""
|
|
226
|
+
profile = apicontractsv1.customerProfilePaymentType()
|
|
227
|
+
profile.customerProfileId = str(customer_profile_id)
|
|
228
|
+
profile.paymentProfile = apicontractsv1.paymentProfile()
|
|
229
|
+
profile.paymentProfile.paymentProfileId = str(payment_profile_id)
|
|
230
|
+
request = apicontractsv1.createTransactionRequest()
|
|
231
|
+
request.transactionRequest = apicontractsv1.transactionRequestType()
|
|
232
|
+
request.transactionRequest.amount = amount
|
|
233
|
+
request.transactionRequest.profile = profile
|
|
234
|
+
request.transactionRequest.transactionType = (
|
|
235
|
+
apicontractsv1.transactionTypeEnum.authCaptureTransaction
|
|
236
|
+
)
|
|
237
|
+
if line_items is not None:
|
|
238
|
+
request.transactionRequest.lineItems = line_items
|
|
239
|
+
return request, apicontrollers.createTransactionController
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -41,36 +41,69 @@ WialonMonthDayMask = enum.IntEnum(
|
|
|
41
41
|
}.items()
|
|
42
42
|
},
|
|
43
43
|
)
|
|
44
|
-
"""
|
|
44
|
+
"""
|
|
45
|
+
Wialon day of the month mask.
|
|
46
|
+
|
|
47
|
+
Usage:
|
|
48
|
+
|
|
49
|
+
.. code::
|
|
50
|
+
|
|
51
|
+
# First of the month
|
|
52
|
+
>> WialonMonthDayMask.DAY_1
|
|
53
|
+
> 1
|
|
54
|
+
# 16th day of the month
|
|
55
|
+
>> WialonMonthDayMask.DAY_16
|
|
56
|
+
> 32768
|
|
57
|
+
|
|
58
|
+
"""
|
|
45
59
|
|
|
46
60
|
|
|
47
61
|
class WialonMonthMask(enum.IntEnum):
|
|
48
62
|
"""Wialon month mask."""
|
|
49
63
|
|
|
50
64
|
JANUARY = 2**0
|
|
65
|
+
"""January."""
|
|
51
66
|
FEBRUARY = 2**1
|
|
67
|
+
"""February."""
|
|
52
68
|
MARCH = 2**2
|
|
69
|
+
"""March."""
|
|
53
70
|
APRIL = 2**3
|
|
71
|
+
"""April."""
|
|
54
72
|
MAY = 2**4
|
|
73
|
+
"""May."""
|
|
55
74
|
JUNE = 2**5
|
|
75
|
+
"""June."""
|
|
56
76
|
JULY = 2**6
|
|
77
|
+
"""July."""
|
|
57
78
|
AUGUST = 2**7
|
|
79
|
+
"""August."""
|
|
58
80
|
SEPTEMBER = 2**8
|
|
81
|
+
"""September."""
|
|
59
82
|
OCTOBER = 2**9
|
|
83
|
+
"""October."""
|
|
60
84
|
NOVEMBER = 2**10
|
|
85
|
+
"""November."""
|
|
61
86
|
DECEMBER = 2**11
|
|
87
|
+
"""December."""
|
|
62
88
|
|
|
63
89
|
|
|
64
90
|
class WialonWeekDayMask(enum.IntEnum):
|
|
65
91
|
"""Wialon day of the week mask."""
|
|
66
92
|
|
|
67
93
|
MONDAY = 2**0
|
|
94
|
+
"""Monday."""
|
|
68
95
|
TUESDAY = 2**1
|
|
96
|
+
"""Tuesday."""
|
|
69
97
|
WEDNESDAY = 2**2
|
|
98
|
+
"""Wednesday."""
|
|
70
99
|
THURSDAY = 2**3
|
|
100
|
+
"""Thursday."""
|
|
71
101
|
FRIDAY = 2**4
|
|
102
|
+
"""Friday."""
|
|
72
103
|
SATURDAY = 2**5
|
|
104
|
+
"""Saturday."""
|
|
73
105
|
SUNDAY = 2**6
|
|
106
|
+
"""Sunday."""
|
|
74
107
|
|
|
75
108
|
|
|
76
109
|
class WialonLogAction(enum.StrEnum):
|