python-terminusgps 45.2.0__tar.gz → 45.3.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.2.0 → python_terminusgps-45.3.0}/PKG-INFO +1 -1
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/conf.py +1 -1
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/pyproject.toml +1 -1
- python_terminusgps-45.3.0/terminusgps/authorizenet/services.py +65 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/uv.lock +1 -1
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/.github/workflows/sphinx.yml +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/.gitignore +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/.python-version +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/COPYING +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/README.md +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/Makefile +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/make.bat +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/requirements.txt +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/authorizenet/api.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/authorizenet/auth.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/authorizenet/constants.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/authorizenet/exceptions.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/authorizenet/index.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/authorizenet/usage.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/index.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/mixins.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/validators.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/wialon/constants.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/wialon/exceptions.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/wialon/index.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/wialon/items.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/wialon/session.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/docs/source/wialon/usage.rst +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/__init__.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/__init__.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/api/__init__.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/api/address_profiles.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/api/customer_profiles.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/api/payment_profiles.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/api/subscriptions.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/api/transactions.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/auth.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/constants.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/controllers.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/validators.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/default_settings.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/mixins.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/validators.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/__init__.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/constants.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/flags.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/__init__.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/account.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/base.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/factory.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/resource.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/retranslator.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/route.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/unit.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/unit_group.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/user.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/session.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/utils.py +0 -0
- {python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/validators.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-terminusgps
|
|
3
|
-
Version: 45.
|
|
3
|
+
Version: 45.3.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 = "45.
|
|
15
|
+
release = "45.3.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 = "45.
|
|
3
|
+
version = "45.3.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" } ]
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
from abc import ABC
|
|
2
|
+
from functools import cached_property
|
|
3
|
+
|
|
4
|
+
from authorizenet import apicontractsv1
|
|
5
|
+
from authorizenet.apicontrollersbase import APIOperationBase
|
|
6
|
+
from django.conf import settings
|
|
7
|
+
from django.core.exceptions import ImproperlyConfigured
|
|
8
|
+
from lxml.objectify import ObjectifiedElement
|
|
9
|
+
|
|
10
|
+
from terminusgps.authorizenet.auth import (
|
|
11
|
+
get_environment,
|
|
12
|
+
get_merchant_auth,
|
|
13
|
+
get_validation_mode,
|
|
14
|
+
)
|
|
15
|
+
from terminusgps.authorizenet.controllers import execute_controller
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class AuthorizenetService(ABC):
|
|
19
|
+
"""Base class for services that interact with the Authorizenet API."""
|
|
20
|
+
|
|
21
|
+
REQUIRED_SETTINGS = (
|
|
22
|
+
"MERCHANT_AUTH_ENVIRONMENT",
|
|
23
|
+
"MERCHANT_AUTH_LOGIN_ID",
|
|
24
|
+
"MERCHANT_AUTH_TRANSACTION_KEY",
|
|
25
|
+
"MERCHANT_AUTH_VALIDATION_MODE",
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
def __init__(self) -> None:
|
|
29
|
+
for setting in self.REQUIRED_SETTINGS:
|
|
30
|
+
if not hasattr(settings, setting):
|
|
31
|
+
raise ImproperlyConfigured(f"'{setting}' setting is required.")
|
|
32
|
+
|
|
33
|
+
def execute_controller(
|
|
34
|
+
self, controller: APIOperationBase
|
|
35
|
+
) -> ObjectifiedElement:
|
|
36
|
+
"""
|
|
37
|
+
Executes an Authorizenet API controller.
|
|
38
|
+
|
|
39
|
+
:param controller: An Authorizenet controller.
|
|
40
|
+
:type controller: ~authorizenet.apicontrollersbase.APIOperationBase
|
|
41
|
+
:raises ~terminusgps.authorizenet.controllers.AuthorizenetControllerExecutionError: If the API call failed.
|
|
42
|
+
:returns: The Authorizenet API controller response.
|
|
43
|
+
:rtype: ~lxml.objectify.ObjectifiedElement
|
|
44
|
+
|
|
45
|
+
"""
|
|
46
|
+
controller.setenvironment(self.environment)
|
|
47
|
+
controller.setmerchantauthentication(self.merchantAuthentication)
|
|
48
|
+
return execute_controller(controller)
|
|
49
|
+
|
|
50
|
+
@cached_property
|
|
51
|
+
def merchantAuthentication(
|
|
52
|
+
self,
|
|
53
|
+
) -> apicontractsv1.merchantAuthenticationType:
|
|
54
|
+
"""Merchant authentication element for Authorizenet API requests."""
|
|
55
|
+
return get_merchant_auth()
|
|
56
|
+
|
|
57
|
+
@cached_property
|
|
58
|
+
def environment(self) -> str:
|
|
59
|
+
"""Environment for Authorizenet API requests."""
|
|
60
|
+
return get_environment()
|
|
61
|
+
|
|
62
|
+
@cached_property
|
|
63
|
+
def validationMode(self) -> str:
|
|
64
|
+
"""Validation mode for Authorizenet API requests."""
|
|
65
|
+
return get_validation_mode()
|
|
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.2.0 → python_terminusgps-45.3.0}/docs/source/authorizenet/constants.rst
RENAMED
|
File without changes
|
{python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/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.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/__init__.py
RENAMED
|
File without changes
|
{python_terminusgps-45.2.0 → python_terminusgps-45.3.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.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/api/transactions.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/constants.py
RENAMED
|
File without changes
|
{python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/controllers.py
RENAMED
|
File without changes
|
{python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/authorizenet/validators.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.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/resource.py
RENAMED
|
File without changes
|
{python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/retranslator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-45.2.0 → python_terminusgps-45.3.0}/terminusgps/wialon/items/unit_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|