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.
Files changed (58) hide show
  1. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/PKG-INFO +1 -1
  2. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/conf.py +1 -1
  3. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/pyproject.toml +1 -1
  4. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/constants.py +23 -0
  5. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/controllers.py +7 -7
  6. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/services.py +2 -3
  7. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/uv.lock +1 -1
  8. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/.github/workflows/sphinx.yml +0 -0
  9. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/.gitignore +0 -0
  10. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/.python-version +0 -0
  11. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/COPYING +0 -0
  12. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/README.md +0 -0
  13. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/Makefile +0 -0
  14. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/make.bat +0 -0
  15. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/requirements.txt +0 -0
  16. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/api.rst +0 -0
  17. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/auth.rst +0 -0
  18. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/constants.rst +0 -0
  19. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/exceptions.rst +0 -0
  20. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/index.rst +0 -0
  21. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/authorizenet/usage.rst +0 -0
  22. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/index.rst +0 -0
  23. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/mixins.rst +0 -0
  24. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/validators.rst +0 -0
  25. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/constants.rst +0 -0
  26. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/exceptions.rst +0 -0
  27. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/index.rst +0 -0
  28. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/items.rst +0 -0
  29. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/session.rst +0 -0
  30. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/docs/source/wialon/usage.rst +0 -0
  31. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/__init__.py +0 -0
  32. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/__init__.py +0 -0
  33. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/__init__.py +0 -0
  34. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/address_profiles.py +0 -0
  35. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/customer_profiles.py +0 -0
  36. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/payment_profiles.py +0 -0
  37. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/subscriptions.py +0 -0
  38. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/api/transactions.py +0 -0
  39. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/authorizenet/auth.py +0 -0
  40. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/default_settings.py +0 -0
  41. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/mixins.py +0 -0
  42. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/validators.py +0 -0
  43. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/__init__.py +0 -0
  44. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/constants.py +0 -0
  45. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/flags.py +0 -0
  46. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/__init__.py +0 -0
  47. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/account.py +0 -0
  48. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/base.py +0 -0
  49. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/factory.py +0 -0
  50. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/resource.py +0 -0
  51. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/retranslator.py +0 -0
  52. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/route.py +0 -0
  53. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/unit.py +0 -0
  54. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/unit_group.py +0 -0
  55. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/items/user.py +0 -0
  56. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/session.py +0 -0
  57. {python_terminusgps-45.6.0 → python_terminusgps-45.6.1}/terminusgps/wialon/utils.py +0 -0
  58. {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.0
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.0"
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.0"
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" } ]
@@ -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
 
@@ -4,7 +4,7 @@ from lxml.objectify import ObjectifiedElement
4
4
 
5
5
  def execute_controller(
6
6
  controller: APIOperationBase, environment: str
7
- ) -> ObjectifiedElement | None:
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, if any.
19
- :rtype: ~lxml.objectify.ObjectifiedElement | None
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
- if response is not None and response.messages.resultCode != "Ok":
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}"
@@ -14,7 +14,7 @@ from .controllers import (
14
14
 
15
15
 
16
16
  class AuthorizenetService:
17
- """A service that safely interacts with the Authorizenet API."""
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 | ValueError:
50
+ except AuthorizenetControllerExecutionError:
52
51
  raise
53
52
 
54
53
  @cached_property
@@ -298,7 +298,7 @@ wheels = [
298
298
 
299
299
  [[package]]
300
300
  name = "python-terminusgps"
301
- version = "45.6.0"
301
+ version = "45.6.1"
302
302
  source = { editable = "." }
303
303
  dependencies = [
304
304
  { name = "authorizenet" },