python-terminusgps 43.1.0__tar.gz → 43.2.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.

Potentially problematic release.


This version of python-terminusgps might be problematic. Click here for more details.

Files changed (69) hide show
  1. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/.github/workflows/sphinx.yml +5 -1
  2. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/.gitignore +3 -2
  3. python_terminusgps-43.2.0/.python-version +1 -0
  4. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/PKG-INFO +3 -6
  5. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/README.md +1 -4
  6. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/requirements.txt +1 -0
  7. python_terminusgps-43.2.0/docs/source/authorizenet/constants.rst +9 -0
  8. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/conf.py +2 -1
  9. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/wialon/index.rst +1 -0
  10. python_terminusgps-43.2.0/docs/source/wialon/items.rst +46 -0
  11. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/wialon/session.rst +3 -1
  12. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/pyproject.toml +2 -2
  13. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/api/address_profiles.py +16 -16
  14. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/api/customer_profiles.py +13 -13
  15. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/api/payment_profiles.py +21 -21
  16. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/api/subscriptions.py +13 -13
  17. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/api/transactions.py +11 -11
  18. python_terminusgps-43.2.0/terminusgps/authorizenet/constants.py +30 -0
  19. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/account.py +45 -36
  20. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/base.py +39 -15
  21. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/factory.py +39 -29
  22. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/resource.py +35 -23
  23. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/retranslator.py +13 -8
  24. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/route.py +7 -4
  25. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/unit.py +28 -20
  26. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/unit_group.py +13 -9
  27. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/user.py +30 -22
  28. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/uv.lock +1 -1
  29. python_terminusgps-43.1.0/docs/CNAME +0 -1
  30. python_terminusgps-43.1.0/docs/source/authorizenet/constants.rst +0 -7
  31. python_terminusgps-43.1.0/terminusgps/authorizenet/constants.py +0 -15
  32. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/COPYING +0 -0
  33. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/Makefile +0 -0
  34. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/make.bat +0 -0
  35. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/authorizenet/api.rst +0 -0
  36. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/authorizenet/auth.rst +0 -0
  37. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/authorizenet/controllers.rst +0 -0
  38. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/authorizenet/index.rst +0 -0
  39. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/authorizenet/usage.rst +0 -0
  40. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/authorizenet/validators.rst +0 -0
  41. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/django/forms.rst +0 -0
  42. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/django/index.rst +0 -0
  43. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/django/mixins.rst +0 -0
  44. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/django/settings.rst +0 -0
  45. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/django/validators.rst +0 -0
  46. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/docs/source/index.rst +0 -0
  47. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/__init__.py +0 -0
  48. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/__init__.py +0 -0
  49. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/api/__init__.py +0 -0
  50. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/auth.py +0 -0
  51. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/controllers.py +0 -0
  52. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/authorizenet/validators.py +0 -0
  53. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/__init__.py +0 -0
  54. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/forms/__init__.py +0 -0
  55. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/forms/fields.py +0 -0
  56. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/forms/forms.py +0 -0
  57. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/forms/renderer.py +0 -0
  58. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/forms/widgets.py +0 -0
  59. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/mixins.py +0 -0
  60. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/settings.py +0 -0
  61. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/utils.py +0 -0
  62. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/django/validators.py +0 -0
  63. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/__init__.py +0 -0
  64. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/constants.py +0 -0
  65. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/flags.py +0 -0
  66. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/items/__init__.py +0 -0
  67. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/session.py +0 -0
  68. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/utils.py +0 -0
  69. {python_terminusgps-43.1.0 → python_terminusgps-43.2.0}/terminusgps/wialon/validators.py +0 -0
@@ -6,17 +6,21 @@ jobs:
6
6
  runs-on: ubuntu-latest
7
7
  permissions:
8
8
  contents: write
9
+
9
10
  steps:
10
11
  - uses: actions/checkout@v4
11
12
  with:
12
13
  persist-credentials: false
14
+
13
15
  - name: Build HTML
14
16
  uses: ammaraskar/sphinx-action@8.2.3
17
+
15
18
  - name: Upload artifacts
16
19
  uses: actions/upload-artifact@v4
17
20
  with:
18
- name: html-docs
21
+ name: Documentation
19
22
  path: docs/build/html/
23
+
20
24
  - name: Deploy
21
25
  uses: peaceiris/actions-gh-pages@v3
22
26
  if: github.ref == 'refs/heads/main'
@@ -1,6 +1,8 @@
1
1
  .*
2
2
  !.gitignore
3
- !.github
3
+ !.github/
4
+ !.python-version
5
+ docs/build/
4
6
 
5
7
  # Python-generated files
6
8
  __pycache__/
@@ -12,4 +14,3 @@ wheels/
12
14
  # Virtual environments
13
15
  .venv
14
16
  venv
15
- docs/build/
@@ -0,0 +1 @@
1
+ 3.12
@@ -1,8 +1,8 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-terminusgps
3
- Version: 43.1.0
3
+ Version: 43.2.0
4
4
  Summary: Provides abstractions/utilities for working with Wialon API, Authorize.NET API, AWS API, and more.
5
- Project-URL: Documentation, https://docs.terminusgps.com
5
+ Project-URL: Documentation, https://terminusgps.github.io/python-terminusgps
6
6
  Project-URL: Repository, https://github.com/terminusgps/python-terminusgps
7
7
  Author-email: Blake Nall <blake@terminusgps.com>
8
8
  License-File: COPYING
@@ -16,9 +16,6 @@ Requires-Dist: django>=5.2.6
16
16
  Requires-Dist: python-wialon>=1.2.4
17
17
  Description-Content-Type: text/markdown
18
18
 
19
- # Terminus GPS Internal Tools
19
+ # python-terminusgps
20
20
 
21
21
  *python-terminusgps* adds libraries for working with web APIs used by [Terminus GPS](https://terminusgps.com/) developers.
22
-
23
- [Documentation](https://docs.terminusgps.com/)
24
-
@@ -1,6 +1,3 @@
1
- # Terminus GPS Internal Tools
1
+ # python-terminusgps
2
2
 
3
3
  *python-terminusgps* adds libraries for working with web APIs used by [Terminus GPS](https://terminusgps.com/) developers.
4
-
5
- [Documentation](https://docs.terminusgps.com/)
6
-
@@ -1,3 +1,4 @@
1
+ autoclasstoc>=1.7.0
1
2
  django>=5.2.1
2
3
  furo==2024.04.27
3
4
  python-wialon>=1.2.4
@@ -0,0 +1,9 @@
1
+ Constants
2
+ =========
3
+
4
+ .. py:currentmodule:: terminusgps.authorizenet.constants
5
+
6
+ .. autodata:: ANET_XMLNS
7
+
8
+ .. autoclass:: AuthorizenetSubscriptionStatus
9
+ :members:
@@ -12,12 +12,13 @@ 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 = "43.1.0"
15
+ release = "43.2.0"
16
16
 
17
17
  # -- General configuration ---------------------------------------------------
18
18
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
19
19
 
20
20
  extensions = [
21
+ "autoclasstoc",
21
22
  "sphinx.ext.autodoc",
22
23
  "sphinx.ext.autosummary",
23
24
  "sphinx.ext.intersphinx",
@@ -7,4 +7,5 @@ Wialon API
7
7
  :maxdepth: 2
8
8
  :caption: Contents:
9
9
 
10
+ items.rst
10
11
  session.rst
@@ -0,0 +1,46 @@
1
+ Items
2
+ =====
3
+
4
+ ====
5
+ Base
6
+ ====
7
+
8
+ .. autoclass:: terminusgps.wialon.items.base.WialonObject
9
+ :autoclasstoc:
10
+ :members:
11
+
12
+ =======
13
+ Factory
14
+ =======
15
+
16
+ .. autoclass:: terminusgps.wialon.items.factory.WialonObjectFactory
17
+ :autoclasstoc:
18
+ :members:
19
+
20
+ ==============
21
+ Wialon objects
22
+ ==============
23
+
24
+ .. autoclass:: terminusgps.wialon.items.account.WialonAccount
25
+ :members:
26
+
27
+ .. autoclass:: terminusgps.wialon.items.resource.WialonResource
28
+ :members:
29
+
30
+ .. autoclass:: terminusgps.wialon.items.retranslator.WialonRetranslator
31
+ :members:
32
+
33
+ .. autoclass:: terminusgps.wialon.items.retranslator.WialonRetranslatorConfiguration
34
+ :members:
35
+
36
+ .. autoclass:: terminusgps.wialon.items.route.WialonRoute
37
+ :members:
38
+
39
+ .. autoclass:: terminusgps.wialon.items.unit.WialonUnit
40
+ :members:
41
+
42
+ .. autoclass:: terminusgps.wialon.items.unit_group.WialonUnitGroup
43
+ :members:
44
+
45
+ .. autoclass:: terminusgps.wialon.items.user.WialonUser
46
+ :members:
@@ -1,7 +1,9 @@
1
1
  Wialon API Sessions
2
2
  ===================
3
3
 
4
- .. autoclass:: terminusgps.wialon.session.WialonSession
4
+ .. py:currentmodule:: terminusgps.wialon.session
5
+
6
+ .. autoclass:: WialonSession
5
7
  :members:
6
8
  :class-doc-from: init
7
9
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "python-terminusgps"
3
- version = "43.1.0"
3
+ version = "43.2.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" } ]
@@ -18,7 +18,7 @@ dependencies = [
18
18
  ]
19
19
 
20
20
  [project.urls]
21
- Documentation = "https://docs.terminusgps.com"
21
+ Documentation = "https://terminusgps.github.io/python-terminusgps"
22
22
  Repository = "https://github.com/terminusgps/python-terminusgps"
23
23
 
24
24
  [build-system]
@@ -21,13 +21,13 @@ def create_customer_shipping_address(
21
21
  `createCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-shipping-address>`_.
22
22
 
23
23
  :param customer_profile_id: An Authorizenet customer profile id.
24
- :type customer_profile_id: :py:obj:`int`
24
+ :type customer_profile_id: int
25
25
  :param address: An Authorizenet customer address element.
26
- :type address: :py:obj:`~authorizenet.apicontractsv1.customerAddressType`
27
- :param default: Whether to set the address profile as default. Default is :py:obj:`False`.
28
- :type default: :py:obj:`bool`
26
+ :type address: ~authorizenet.apicontractsv1.customerAddressType
27
+ :param default: Whether to set the address profile as default. Default is False.
28
+ :type default: bool
29
29
  :returns: An Authorizenet createCustomerShippingAddressResponse element.
30
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
30
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
31
31
 
32
32
  """
33
33
  request = apicontractsv1.createCustomerShippingAddressRequest()
@@ -48,11 +48,11 @@ def get_customer_shipping_address(
48
48
  `getCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-shipping-address>`_.
49
49
 
50
50
  :param customer_profile_id: An Authorizenet customer profile id.
51
- :type customer_profile_id: :py:obj:`int`
51
+ :type customer_profile_id: int
52
52
  :param address_profile_id: An Authorizenet customer address profile id.
53
- :type address_profile_id: :py:obj:`int`
53
+ :type address_profile_id: int
54
54
  :returns: An Authorizenet getCustomerShippingAddressResponse element.
55
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
55
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
56
56
 
57
57
  """
58
58
  request = apicontractsv1.getCustomerShippingAddressRequest()
@@ -74,13 +74,13 @@ def update_customer_shipping_address(
74
74
  `updateCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-shipping-address>`_.
75
75
 
76
76
  :param customer_profile_id: An Authorizenet customer profile id.
77
- :type customer_profile_id: :py:obj:`int`
77
+ :type customer_profile_id: int
78
78
  :param address: An Authorizenet customer address element.
79
- :type address: :py:obj:`~authorizenet.apicontractsv1.customerAddressType`
80
- :param default: Whether to set the address profile as default. Default is :py:obj:`False`.
81
- :type default: :py:obj:`bool`
79
+ :type address: ~authorizenet.apicontractsv1.customerAddressType
80
+ :param default: Whether to set the address profile as default. Default is False.
81
+ :type default: bool
82
82
  :returns: An Authorizenet updateCustomerShippingAddressResponse element.
83
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
83
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
84
84
 
85
85
  """
86
86
  request = apicontractsv1.updateCustomerShippingAddressRequest()
@@ -101,11 +101,11 @@ def delete_customer_shipping_address(
101
101
  `deleteCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-delete-customer-shipping-address>`_.
102
102
 
103
103
  :param customer_profile_id: An Authorizenet customer profile id.
104
- :type customer_profile_id: :py:obj:`int`
104
+ :type customer_profile_id: int
105
105
  :param address_profile_id: An Authorizenet customer address profile id.
106
- :type address_profile_id: :py:obj:`int`
106
+ :type address_profile_id: int
107
107
  :returns: An Authorizenet deleteCustomerShippingAddressResponse element.
108
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
108
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
109
109
 
110
110
  """
111
111
  request = apicontractsv1.deleteCustomerShippingAddressRequest()
@@ -20,13 +20,13 @@ def create_customer_profile(
20
20
  `createCustomerProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile>`_.
21
21
 
22
22
  :param merchant_id: A merchant designated customer id.
23
- :type merchant_id: :py:obj:`str`
23
+ :type merchant_id: str
24
24
  :param email: A customer email address.
25
- :type email: :py:obj:`str`
25
+ :type email: str
26
26
  :param description: An optional customer description.
27
- :type description: :py:obj:`str`
27
+ :type description: str
28
28
  :returns: An Authorizenet createCustomerProfileResponse element.
29
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
29
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
30
30
 
31
31
  """
32
32
  request = apicontractsv1.createCustomerProfileRequest()
@@ -48,11 +48,11 @@ def get_customer_profile(
48
48
  `getCustomerProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile>`_.
49
49
 
50
50
  :param customer_profile_id: An Authorizenet customer profile id.
51
- :type customer_profile_id: :py:obj:`int`
52
- :param include_issuer_info: Whether to include issuer info in the response. Default is :py:obj:`False`.
53
- :type include_issuer_info: :py:obj:`bool`
51
+ :type customer_profile_id: int
52
+ :param include_issuer_info: Whether to include issuer info in the response. Default is False.
53
+ :type include_issuer_info: bool
54
54
  :returns: An Authorizenet getCustomerProfileResponse element.
55
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
55
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
56
56
 
57
57
  """
58
58
  request = apicontractsv1.getCustomerProfileRequest()
@@ -70,7 +70,7 @@ def get_customer_profile_ids() -> ObjectifiedElement | None:
70
70
  `getCustomerProfileIdsRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile-ids>`_.
71
71
 
72
72
  :returns: An Authorizenet getCustomerProfileIdsResponse element.
73
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
73
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
74
74
 
75
75
  """
76
76
  request = apicontractsv1.getCustomerProfileIdsRequest()
@@ -88,9 +88,9 @@ def update_customer_profile(
88
88
  `updateCustomerProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-profile>`_.
89
89
 
90
90
  :param profile: An Authorizenet customer profile ex element.
91
- :type profile: :py:obj:`~authorizenet.apicontractsv1.customerProfileExType`
91
+ :type profile: ~authorizenet.apicontractsv1.customerProfileExType
92
92
  :returns: An Authorizenet updateCustomerProfileResponse element.
93
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
93
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
94
94
 
95
95
  """
96
96
  request = apicontractsv1.updateCustomerProfileRequest()
@@ -109,9 +109,9 @@ def delete_customer_profile(
109
109
  `deleteCustomerProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-delete-customer-profile>`_.
110
110
 
111
111
  :param customer_profile_id: An Authorizenet customer profile id.
112
- :type customer_profile_id: :py:obj:`int`
112
+ :type customer_profile_id: int
113
113
  :returns: An Authorizenet deleteCustomerProfileResponse element.
114
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
114
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
115
115
 
116
116
  """
117
117
  request = apicontractsv1.deleteCustomerProfileRequest()
@@ -25,12 +25,12 @@ def create_customer_payment_profile(
25
25
  `createCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-payment-profile>`_.
26
26
 
27
27
  :param customer_profile_id: An Authorizenet customer profile id.
28
- :type customer_profile_id: :py:obj:`int`
28
+ :type customer_profile_id: int
29
29
  :param payment_profile: An Authorizenet payment profile element.
30
- :type payment_profile: :py:obj:`~authorizenet.apicontractsv1.customerPaymentProfileType`
31
- :param validate: Whether to validate the payment profile. Default is :py:obj:`True`.
30
+ :type payment_profile: ~authorizenet.apicontractsv1.customerPaymentProfileType
31
+ :param validate: Whether to validate the payment profile. Default is True.
32
32
  :returns: An Authorizenet createCustomerPaymentProfileResponse element.
33
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
33
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
34
34
 
35
35
  """
36
36
  request = apicontractsv1.createCustomerPaymentProfileRequest()
@@ -54,13 +54,13 @@ def get_customer_payment_profile(
54
54
  `getCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile>`_.
55
55
 
56
56
  :param customer_profile_id: An Authorizenet customer profile id.
57
- :type customer_profile_id: :py:obj:`int`
57
+ :type customer_profile_id: int
58
58
  :param payment_profile_id: An Authorizenet customer payment profile id.
59
- :type payment_profile_id: :py:obj:`int`
60
- :param include_issuer_info: Whether to include issuer info in the response. Default is :py:obj:`False`.
61
- :type include_issuer_info: :py:obj:`bool`
59
+ :type payment_profile_id: int
60
+ :param include_issuer_info: Whether to include issuer info in the response. Default is False.
61
+ :type include_issuer_info: bool
62
62
  :returns: An Authorizenet getCustomerPaymentProfileResponse element.
63
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
63
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
64
64
 
65
65
  """
66
66
  request = apicontractsv1.getCustomerPaymentProfileRequest()
@@ -81,11 +81,11 @@ def validate_customer_payment_profile(
81
81
  `validateCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-validate-customer-payment-profile>`_.
82
82
 
83
83
  :param customer_profile_id: An Authorizenet customer profile id.
84
- :type customer_profile_id: :py:obj:`int`
84
+ :type customer_profile_id: int
85
85
  :param payment_profile_id: An Authorizenet customer payment profile id.
86
- :type payment_profile_id: :py:obj:`int`
86
+ :type payment_profile_id: int
87
87
  :returns: An Authorizenet validateCustomerPaymentProfileResponse element.
88
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
88
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
89
89
 
90
90
  """
91
91
  request = apicontractsv1.validateCustomerPaymentProfileRequest()
@@ -109,15 +109,15 @@ def update_customer_payment_profile(
109
109
  `updateCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-payment-profile>`_.
110
110
 
111
111
  :param customer_profile_id: An Authorizenet customer profile id.
112
- :type customer_profile_id: :py:obj:`int`
112
+ :type customer_profile_id: int
113
113
  :param payment_profile_id: An Authorizenet customer payment profile id.
114
- :type payment_profile_id: :py:obj:`int`
114
+ :type payment_profile_id: int
115
115
  :param payment_profile: An Authorizenet payment profile element.
116
- :type payment_profile: :py:obj:`~authorizenet.apicontractsv1.customerPaymentProfileType`
117
- :param validate: Whether to validate the payment profile. Default is :py:obj:`True`.
118
- :type validate: :py:obj:`bool`
116
+ :type payment_profile: ~authorizenet.apicontractsv1.customerPaymentProfileType
117
+ :param validate: Whether to validate the payment profile. Default is True.
118
+ :type validate: bool
119
119
  :returns: An Authorizenet updateCustomerPaymentProfileResponse element.
120
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
120
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
121
121
 
122
122
  """
123
123
  if not hasattr(payment_profile, "customerPaymentProfileId"):
@@ -142,11 +142,11 @@ def delete_customer_payment_profile(
142
142
  `deleteCustomerPaymentProfileRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-delete-customer-payment-profile>`_.
143
143
 
144
144
  :param customer_profile_id: An Authorizenet customer profile id.
145
- :type customer_profile_id: :py:obj:`int`
145
+ :type customer_profile_id: int
146
146
  :param payment_profile_id: An Authorizenet customer payment profile id.
147
- :type payment_profile_id: :py:obj:`int`
147
+ :type payment_profile_id: int
148
148
  :returns: An Authorizenet deleteCustomerPaymentProfileResponse element.
149
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
149
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
150
150
 
151
151
  """
152
152
  request = apicontractsv1.deleteCustomerPaymentProfileRequest()
@@ -20,9 +20,9 @@ def create_subscription(
20
20
  `ARBCreateSubscriptionRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-create-a-subscription>`_.
21
21
 
22
22
  :param subscription: An Authorizenet ARBSubscriptionType element.
23
- :type subscription: :py:obj:`~authorizenet.apicontractsv1.ARBSubscriptionType`
23
+ :type subscription: ~authorizenet.apicontractsv1.ARBSubscriptionType
24
24
  :returns: An Authorizenet ARBCreateSubscriptionResponse element.
25
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
25
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
26
26
 
27
27
  """
28
28
  request = apicontractsv1.ARBCreateSubscriptionRequest()
@@ -41,11 +41,11 @@ def get_subscription(
41
41
  `ARBGetSubscriptionRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-get-subscription>`_.
42
42
 
43
43
  :param subscription_id: An Authorizenet subscription id.
44
- :type subscription_id: :py:obj:`int`
45
- :param include_transactions: Whether to include the subscription transaction list in the response. Default is :py:obj:`True`.
46
- :type include_transactions: :py:obj:`bool`
44
+ :type subscription_id: int
45
+ :param include_transactions: Whether to include the subscription transaction list in the response. Default is True.
46
+ :type include_transactions: bool
47
47
  :returns: An Authorizenet ARBGetSubscriptionResponse element.
48
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
48
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
49
49
 
50
50
  """
51
51
  request = apicontractsv1.ARBGetSubscriptionRequest()
@@ -63,9 +63,9 @@ def get_subscription_status(subscription_id: int) -> ObjectifiedElement | None:
63
63
  `ARBGetSubscriptionStatusRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-get-subscription-status>`_.
64
64
 
65
65
  :param subscription_id: An Authorizenet subscription id.
66
- :type subscription_id: :py:obj:`int`
66
+ :type subscription_id: int
67
67
  :returns: An Authorizenet ARBGetSubscriptionStatusResponse element.
68
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
68
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
69
69
 
70
70
  """
71
71
  request = apicontractsv1.ARBGetSubscriptionStatusRequest()
@@ -84,11 +84,11 @@ def update_subscription(
84
84
  `ARBUpdateSubscriptionRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-update-a-subscription>`_.
85
85
 
86
86
  :param subscription_id: An Authorizenet subscription id.
87
- :type subscription_id: :py:obj:`int`
87
+ :type subscription_id: int
88
88
  :param subscription: An Authorizenet ARBSubscriptionType element.
89
- :type subscription: :py:obj:`~authorizenet.apicontractsv1.ARBSubscriptionType`
89
+ :type subscription: ~authorizenet.apicontractsv1.ARBSubscriptionType
90
90
  :returns: An Authorizenet ARBUpdateSubscriptionResponse element.
91
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
91
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
92
92
 
93
93
  """
94
94
  request = apicontractsv1.ARBUpdateSubscriptionRequest()
@@ -106,9 +106,9 @@ def cancel_subscription(subscription_id: int) -> ObjectifiedElement | None:
106
106
  `ARBCancelSubscriptionRequest <https://developer.authorize.net/api/reference/index.html#recurring-billing-cancel-a-subscription>`_.
107
107
 
108
108
  :param subscription_id: An Authorizenet subscription id.
109
- :type subscription_id: :py:obj:`int`
109
+ :type subscription_id: int
110
110
  :returns: An Authorizenet ARBCancelSubscriptionResponse element.
111
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
111
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
112
112
 
113
113
  """
114
114
  request = apicontractsv1.ARBCancelSubscriptionRequest()
@@ -18,11 +18,11 @@ def get_settled_batch_list(
18
18
  `getSettledBatchListRequest <https://developer.authorize.net/api/reference/index.html#transaction-reporting-get-settled-batch-list>`_.
19
19
 
20
20
  :param start: First settlement date.
21
- :type start: :py:obj:`~datetime.datetime`
21
+ :type start: ~datetime.datetime
22
22
  :param end: Last settlement date.
23
- :type end: :py:obj:`~datetime.datetime`
23
+ :type end: ~datetime.datetime
24
24
  :returns: An Authorizenet getSettledBatchListResponse element.
25
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
25
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
26
26
 
27
27
  """
28
28
  request = apicontractsv1.getSettledBatchListRequest()
@@ -47,17 +47,17 @@ def get_transaction_list(
47
47
  `getTransactionListRequest <https://developer.authorize.net/api/reference/index.html#transaction-reporting-get-transaction-list>`_.
48
48
 
49
49
  :param batch_id: An Authorizenet transaction batch id.
50
- :type batch_id :py:obj:`int`
51
- :param ordering: An Authorizenet transaction list ordering string. Default is :py:obj:`"submitTimeUTC"`.
52
- :type ordering: :py:obj:`str`
53
- :param descending: Whether to sort the transaction list in descending order. Default is :py:obj:`False` (ascending order).
54
- :type descending: :py:obj:`bool`
50
+ :type batch_id int
51
+ :param ordering: An Authorizenet transaction list ordering string. Default is "submitTimeUTC".
52
+ :type ordering: str
53
+ :param descending: Whether to sort the transaction list in descending order. Default is False (ascending order).
54
+ :type descending: bool
55
55
  :param limit: Total number of transactions to return in the list.
56
- :type limit: :py:obj:`int`
56
+ :type limit: int
57
57
  :param offset: Page number to return results from.
58
- :type offset: :py:obj:`int`
58
+ :type offset: int
59
59
  :returns: An Authorizenet getTransactionListResponse element.
60
- :rtype: :py:obj:`~lxml.objectify.ObjectifiedElement` | :py:obj:`None`
60
+ :rtype: ~lxml.objectify.ObjectifiedElement | None
61
61
 
62
62
  """
63
63
  sorting = apicontractsv1.TransactionListSorting()
@@ -0,0 +1,30 @@
1
+ from authorizenet import apicontractsv1
2
+ from django.db import models
3
+ from django.utils.translation import gettext_lazy as _
4
+
5
+ ANET_XMLNS = "{AnetApi/xml/v1/schema/AnetApiSchema.xsd}"
6
+ """Authorizenet XML namespace."""
7
+
8
+
9
+ class AuthorizenetSubscriptionStatus(models.TextChoices):
10
+ """An Authorizenet subscription status."""
11
+
12
+ ACTIVE = "active", _("Active")
13
+ """Active subscription."""
14
+ EXPIRED = "expired", _("Expired")
15
+ """Expired subscription."""
16
+ SUSPENDED = "suspended", _("Suspended")
17
+ """Suspended subscription."""
18
+ CANCELED = "canceled", _("Canceled")
19
+ """Canceled subscription."""
20
+ TERMINATED = "terminated", _("Terminated")
21
+ """Terminated subscription."""
22
+
23
+
24
+ class AuthorizenetSubscriptionIntervalUnit(models.TextChoices):
25
+ """An Authorizenet subscription interval unit."""
26
+
27
+ DAYS = apicontractsv1.ARBSubscriptionUnitEnum.days, _("Days")
28
+ """Days interval unit."""
29
+ MONTHS = apicontractsv1.ARBSubscriptionUnitEnum.months, _("Months")
30
+ """Months interval unit."""