python-terminusgps 45.8.0__tar.gz → 46.0.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-45.8.0 → python_terminusgps-46.0.0}/PKG-INFO +1 -1
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/conf.py +1 -1
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/pyproject.toml +1 -1
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/service.py +10 -11
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/uv.lock +10 -10
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/.github/workflows/sphinx.yml +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/.gitignore +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/.python-version +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/COPYING +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/README.md +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/Makefile +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/make.bat +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/requirements.txt +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/authorizenet/api.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/authorizenet/constants.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/authorizenet/index.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/authorizenet/service.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/index.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/mixins.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/validators.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/wialon/constants.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/wialon/exceptions.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/wialon/index.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/wialon/items.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/wialon/session.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/wialon/usage.rst +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/__init__.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/__init__.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/api/__init__.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/api/address_profiles.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/api/customer_profiles.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/api/payment_profiles.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/api/subscriptions.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/api/transactions.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/constants.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/default_settings.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/mixins.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/validators.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/__init__.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/constants.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/flags.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/__init__.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/account.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/base.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/factory.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/resource.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/retranslator.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/route.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/unit.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/unit_group.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/user.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/session.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/utils.py +0 -0
- {python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/validators.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-terminusgps
|
|
3
|
-
Version:
|
|
3
|
+
Version: 46.0.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
|
|
@@ -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 = "46.0.0"
|
|
16
16
|
|
|
17
17
|
# -- General configuration ---------------------------------------------------
|
|
18
18
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "python-terminusgps"
|
|
3
|
-
version = "
|
|
3
|
+
version = "46.0.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" } ]
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from abc import ABC
|
|
1
2
|
from functools import cached_property
|
|
2
3
|
|
|
3
4
|
from authorizenet.apicontractsv1 import merchantAuthenticationType
|
|
@@ -34,8 +35,8 @@ class AuthorizenetControllerExecutionError(Exception):
|
|
|
34
35
|
return self._code
|
|
35
36
|
|
|
36
37
|
|
|
37
|
-
class AuthorizenetService:
|
|
38
|
-
"""
|
|
38
|
+
class AuthorizenetService(ABC):
|
|
39
|
+
"""Base service for safely interacting with the Authorizenet API."""
|
|
39
40
|
|
|
40
41
|
REQUIRED_SETTINGS = (
|
|
41
42
|
"MERCHANT_AUTH_ENVIRONMENT",
|
|
@@ -50,21 +51,18 @@ class AuthorizenetService:
|
|
|
50
51
|
if not hasattr(settings, setting):
|
|
51
52
|
raise ImproperlyConfigured(f"'{setting}' setting is required.")
|
|
52
53
|
|
|
53
|
-
def
|
|
54
|
+
def execute(
|
|
54
55
|
self,
|
|
55
|
-
|
|
56
|
-
controller_cls: type[APIOperationBase],
|
|
56
|
+
request_tuple: tuple[ObjectifiedElement, type[APIOperationBase]],
|
|
57
57
|
reference_id: str | None = None,
|
|
58
58
|
) -> ObjectifiedElement:
|
|
59
59
|
"""
|
|
60
|
-
Adds required authentication data to the request before executing it and returning its response.
|
|
60
|
+
Adds required authentication data to the Authorizenet API request before executing it and returning its response.
|
|
61
61
|
|
|
62
62
|
If ``reference_id`` was provided, it is added to the request before execution.
|
|
63
63
|
|
|
64
|
-
:param
|
|
65
|
-
:type
|
|
66
|
-
:param controller_cls: An Authorizenet controller class.
|
|
67
|
-
:type controller_cls: type[~authorizenet.apicontrollersbase.APIOperationBase]
|
|
64
|
+
:param request_tuple: A tuple containing an Authorizenet API request contract and a controller class to execute it with.
|
|
65
|
+
:type request_tuple: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]]
|
|
68
66
|
:param reference_id: An optional reference id string for the API call. Default is :py:obj:`None`.
|
|
69
67
|
:type reference_id: str | None
|
|
70
68
|
:raises AuthorizenetControllerExecutionError: If the API call failed.
|
|
@@ -72,6 +70,7 @@ class AuthorizenetService:
|
|
|
72
70
|
:rtype: ~lxml.objectify.ObjectifiedElement
|
|
73
71
|
|
|
74
72
|
"""
|
|
73
|
+
request, controller_cls = request_tuple[0], request_tuple[1]
|
|
75
74
|
request.merchantAuthentication = self.merchantAuthentication
|
|
76
75
|
if reference_id is not None:
|
|
77
76
|
request.refId = reference_id
|
|
@@ -79,8 +78,8 @@ class AuthorizenetService:
|
|
|
79
78
|
controller = controller_cls(request)
|
|
80
79
|
controller.setenvironment(self.environment)
|
|
81
80
|
controller.execute()
|
|
81
|
+
response = controller.getresponse()
|
|
82
82
|
|
|
83
|
-
response: ObjectifiedElement | None = controller.getresponse()
|
|
84
83
|
if response is None:
|
|
85
84
|
raise AuthorizenetControllerExecutionError(
|
|
86
85
|
message="No response from the Authorizenet API controller.",
|
|
@@ -142,7 +142,7 @@ wheels = [
|
|
|
142
142
|
|
|
143
143
|
[[package]]
|
|
144
144
|
name = "django-stubs"
|
|
145
|
-
version = "5.2.
|
|
145
|
+
version = "5.2.5"
|
|
146
146
|
source = { registry = "https://pypi.org/simple" }
|
|
147
147
|
dependencies = [
|
|
148
148
|
{ name = "django" },
|
|
@@ -150,22 +150,22 @@ dependencies = [
|
|
|
150
150
|
{ name = "types-pyyaml" },
|
|
151
151
|
{ name = "typing-extensions" },
|
|
152
152
|
]
|
|
153
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
153
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e1/8e/286150f593481c33f54d14efb58d72178f159d57d31043529d38bbc98e2f/django_stubs-5.2.5.tar.gz", hash = "sha256:fc78384e28d8c5292d60983075a5934f644f7c304c25ae2793fc57aa66d5018b", size = 247794 }
|
|
154
154
|
wheels = [
|
|
155
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
155
|
+
{ url = "https://files.pythonhosted.org/packages/2f/02/cdbf7652ef2c9a7a1fed7c279484b7f3806f15b1bb34aec9fef8e8cfacbf/django_stubs-5.2.5-py3-none-any.whl", hash = "sha256:223c1a3324cd4873b7629dec6e9adbe224a94508284c1926b25fddff7a92252b", size = 490196 },
|
|
156
156
|
]
|
|
157
157
|
|
|
158
158
|
[[package]]
|
|
159
159
|
name = "django-stubs-ext"
|
|
160
|
-
version = "5.2.
|
|
160
|
+
version = "5.2.5"
|
|
161
161
|
source = { registry = "https://pypi.org/simple" }
|
|
162
162
|
dependencies = [
|
|
163
163
|
{ name = "django" },
|
|
164
164
|
{ name = "typing-extensions" },
|
|
165
165
|
]
|
|
166
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
166
|
+
sdist = { url = "https://files.pythonhosted.org/packages/16/94/c9b8f4c47084a0fa666da9066c36771098101932688adf2c17a40fab79c2/django_stubs_ext-5.2.5.tar.gz", hash = "sha256:ecc628df29d36cede638567c4e33ff485dd7a99f1552ad0cece8c60e9c3a8872", size = 6489 }
|
|
167
167
|
wheels = [
|
|
168
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
168
|
+
{ url = "https://files.pythonhosted.org/packages/e0/fe/a85a105fddffadb4a8d50e500caeee87d836b679d51a19d52dfa0cc6c660/django_stubs_ext-5.2.5-py3-none-any.whl", hash = "sha256:9b4b8ac9d32f7e6c304fd05477f8688fae6ed57f6a0f9f4d074f9e55b5a3da14", size = 9310 },
|
|
169
169
|
]
|
|
170
170
|
|
|
171
171
|
[[package]]
|
|
@@ -298,7 +298,7 @@ wheels = [
|
|
|
298
298
|
|
|
299
299
|
[[package]]
|
|
300
300
|
name = "python-terminusgps"
|
|
301
|
-
version = "
|
|
301
|
+
version = "46.0.0"
|
|
302
302
|
source = { editable = "." }
|
|
303
303
|
dependencies = [
|
|
304
304
|
{ name = "authorizenet" },
|
|
@@ -536,11 +536,11 @@ wheels = [
|
|
|
536
536
|
|
|
537
537
|
[[package]]
|
|
538
538
|
name = "types-pyyaml"
|
|
539
|
-
version = "6.0.12.
|
|
539
|
+
version = "6.0.12.20250915"
|
|
540
540
|
source = { registry = "https://pypi.org/simple" }
|
|
541
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
541
|
+
sdist = { url = "https://files.pythonhosted.org/packages/7e/69/3c51b36d04da19b92f9e815be12753125bd8bc247ba0470a982e6979e71c/types_pyyaml-6.0.12.20250915.tar.gz", hash = "sha256:0f8b54a528c303f0e6f7165687dd33fafa81c807fcac23f632b63aa624ced1d3", size = 17522 }
|
|
542
542
|
wheels = [
|
|
543
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
543
|
+
{ url = "https://files.pythonhosted.org/packages/bd/e0/1eed384f02555dde685fff1a1ac805c1c7dcb6dd019c916fe659b1c1f9ec/types_pyyaml-6.0.12.20250915-py3-none-any.whl", hash = "sha256:e7d4d9e064e89a3b3cae120b4990cd370874d2bf12fa5f46c97018dd5d3c9ab6", size = 20338 },
|
|
544
544
|
]
|
|
545
545
|
|
|
546
546
|
[[package]]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/authorizenet/constants.rst
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/docs/source/authorizenet/service.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/__init__.py
RENAMED
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/api/transactions.py
RENAMED
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/authorizenet/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/resource.py
RENAMED
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/retranslator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.8.0 → python_terminusgps-46.0.0}/terminusgps/wialon/items/unit_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|