python-terminusgps 45.6.0__tar.gz → 45.6.1__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.6.0 → python_terminusgps-45.6.1}/PKG-INFO +1 -1
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/conf.py +1 -1
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/pyproject.toml +1 -1
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/constants.py +23 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/controllers.py +7 -7
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/services.py +2 -3
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/uv.lock +1 -1
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/.github/workflows/sphinx.yml +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/.gitignore +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/.python-version +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/COPYING +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/README.md +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/Makefile +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/make.bat +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/requirements.txt +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/api.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/auth.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/constants.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/exceptions.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/index.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/usage.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/index.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/mixins.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/validators.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/constants.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/exceptions.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/index.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/items.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/session.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/usage.rst +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/__init__.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/__init__.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/__init__.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/address_profiles.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/customer_profiles.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/payment_profiles.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/subscriptions.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/transactions.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/auth.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/default_settings.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/mixins.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/validators.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/__init__.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/constants.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/flags.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/__init__.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/account.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/base.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/factory.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/resource.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/retranslator.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/route.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/unit.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/unit_group.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/user.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/session.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/utils.py +0 -0
- {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/validators.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-terminusgps
|
|
3
|
-
Version: 45.6.
|
|
3
|
+
Version: 45.6.1
|
|
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 = "45.6.
|
|
15
|
+
release = "45.6.1"
|
|
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 = "45.6.
|
|
3
|
+
version = "45.6.1"
|
|
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" } ]
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/constants.py
RENAMED
|
@@ -4,6 +4,29 @@ from django.db import models
|
|
|
4
4
|
from django.utils.translation import gettext_lazy as _
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
class CurrencyCode(models.TextChoices):
|
|
8
|
+
USD = "USD", _("United States Dollar")
|
|
9
|
+
"""US dollar."""
|
|
10
|
+
CAD = "CAD", _("Canadian Dollar")
|
|
11
|
+
"""Canadian dollar."""
|
|
12
|
+
GBP = "GBP", _("Great British Pound")
|
|
13
|
+
"""Great British pound."""
|
|
14
|
+
DKK = "DKK", _("Danish Krone")
|
|
15
|
+
"""Danish krone."""
|
|
16
|
+
NOK = "NOK", _("Norwegian Krone")
|
|
17
|
+
"""Norwegian krone."""
|
|
18
|
+
PLN = "PLN", _("Polish Złoty")
|
|
19
|
+
"""Polish zloty."""
|
|
20
|
+
SEK = "SEK", _("Swedish Krona")
|
|
21
|
+
"""Swedish krona."""
|
|
22
|
+
EUR = "EUR", _("Euro")
|
|
23
|
+
"""Euro."""
|
|
24
|
+
AUD = "AUD", _("Australian Dollar")
|
|
25
|
+
"""Australian dollar."""
|
|
26
|
+
NZD = "NZD", _("New Zealand Dollar")
|
|
27
|
+
"""New Zealand dollar."""
|
|
28
|
+
|
|
29
|
+
|
|
7
30
|
class SubscriptionStatus(models.TextChoices):
|
|
8
31
|
"""An Authorizenet subscription status."""
|
|
9
32
|
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/controllers.py
RENAMED
|
@@ -4,7 +4,7 @@ from lxml.objectify import ObjectifiedElement
|
|
|
4
4
|
|
|
5
5
|
def execute_controller(
|
|
6
6
|
controller: APIOperationBase, environment: str
|
|
7
|
-
) -> ObjectifiedElement
|
|
7
|
+
) -> ObjectifiedElement:
|
|
8
8
|
"""
|
|
9
9
|
Executes an Authorizenet API controller and returns its response.
|
|
10
10
|
|
|
@@ -15,19 +15,19 @@ def execute_controller(
|
|
|
15
15
|
:param merchant_auth: Authorizenet merchant authentication element.
|
|
16
16
|
:type merchant_auth: ~authorizenet.apicontractsv1.merchantAuthenticationType
|
|
17
17
|
:raises AuthorizenetControllerExecutionError: If the API call fails.
|
|
18
|
-
:returns: An Authorizenet API response
|
|
19
|
-
:rtype: ~lxml.objectify.ObjectifiedElement
|
|
18
|
+
:returns: An Authorizenet API response.
|
|
19
|
+
:rtype: ~lxml.objectify.ObjectifiedElement
|
|
20
20
|
|
|
21
21
|
"""
|
|
22
22
|
controller.setenvironment(environment)
|
|
23
23
|
controller.execute()
|
|
24
|
-
response = controller.getresponse()
|
|
24
|
+
response: ObjectifiedElement | None = controller.getresponse()
|
|
25
25
|
|
|
26
26
|
if response is None:
|
|
27
27
|
raise AuthorizenetControllerExecutionError(
|
|
28
28
|
message="Authorizenet controller response didn't exist.", code="1"
|
|
29
29
|
)
|
|
30
|
-
|
|
30
|
+
elif response is not None and response.messages.resultCode != "Ok":
|
|
31
31
|
raise AuthorizenetControllerExecutionError(
|
|
32
32
|
message=response.messages.message[0]["text"].text,
|
|
33
33
|
code=response.messages.message[0]["code"].text,
|
|
@@ -40,8 +40,8 @@ class AuthorizenetControllerExecutionError(Exception):
|
|
|
40
40
|
|
|
41
41
|
def __init__(self, message: str, code: str, *args, **kwargs) -> None:
|
|
42
42
|
super().__init__(message, *args, **kwargs)
|
|
43
|
-
self._message = message
|
|
44
|
-
self._code = code
|
|
43
|
+
self._message: str = message
|
|
44
|
+
self._code: str = code
|
|
45
45
|
|
|
46
46
|
def __str__(self) -> str:
|
|
47
47
|
return f"{self.code}: {self.message}"
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/services.py
RENAMED
|
@@ -14,7 +14,7 @@ from .controllers import (
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
class AuthorizenetService:
|
|
17
|
-
"""A service
|
|
17
|
+
"""A service for safely interacting with the Authorizenet API."""
|
|
18
18
|
|
|
19
19
|
REQUIRED_SETTINGS = (
|
|
20
20
|
"MERCHANT_AUTH_ENVIRONMENT",
|
|
@@ -37,7 +37,6 @@ class AuthorizenetService:
|
|
|
37
37
|
:type func: ~typing.Callable
|
|
38
38
|
:param args: Positional arguments for the API call.
|
|
39
39
|
:param kwargs: Keyword arguments for the API call.
|
|
40
|
-
:raises ValueError: If any function arguments were invalid.
|
|
41
40
|
:raises ~terminusgps.authorizenet.controllers.AuthorizenetControllerExecutionError: If the API call failed.
|
|
42
41
|
:returns: The Authorizenet API call response.
|
|
43
42
|
:rtype: ~lxml.objectify.ObjectifiedElement
|
|
@@ -48,7 +47,7 @@ class AuthorizenetService:
|
|
|
48
47
|
request.merchantAuthentication = self.merchantAuthentication
|
|
49
48
|
controller = controller_cls(request)
|
|
50
49
|
return execute_controller(controller, self.environment)
|
|
51
|
-
except AuthorizenetControllerExecutionError
|
|
50
|
+
except AuthorizenetControllerExecutionError:
|
|
52
51
|
raise
|
|
53
52
|
|
|
54
53
|
@cached_property
|
|
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.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/constants.rst
RENAMED
|
File without changes
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/exceptions.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
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/__init__.py
RENAMED
|
File without changes
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/transactions.py
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
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/resource.py
RENAMED
|
File without changes
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/retranslator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/unit_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|