python-terminusgps 41.3.0__tar.gz → 42.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.
Potentially problematic release.
This version of python-terminusgps might be problematic. Click here for more details.
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/PKG-INFO +1 -1
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/conf.py +1 -1
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/pyproject.toml +1 -1
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/factory.py +18 -15
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/retranslator.py +12 -9
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/unit.py +10 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/uv.lock +1 -1
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/.gitignore +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/COPYING +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/README.md +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/Makefile +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/make.bat +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/auth.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/constants.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/controllers.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/examples.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/index.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/profiles.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/subscriptions.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/utils.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/validators.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/django/forms.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/django/index.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/django/mixins.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/django/settings.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/django/validators.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/index.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/wialon/constants.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/wialon/errors.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/wialon/examples.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/wialon/flags.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/wialon/index.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/wialon/items.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/wialon/session.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/wialon/utils.rst +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/__init__.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/__init__.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/auth.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/constants.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/controllers.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/profiles/__init__.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/profiles/addresses.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/profiles/customers.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/profiles/payments.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/subscriptions.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/utils.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/validators.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/__init__.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/forms/__init__.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/forms/fields.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/forms/forms.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/forms/renderer.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/forms/widgets.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/mixins.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/settings.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/utils.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/validators.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/__init__.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/constants.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/flags.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/__init__.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/account.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/base.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/resource.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/route.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/unit_group.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/user.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/session.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/utils.py +0 -0
- {python_terminusgps-41.3.0 → python_terminusgps-42.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: 42.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://docs.terminusgps.com
|
|
6
6
|
Project-URL: Repository, https://github.com/terminusgps/python-terminusgps
|
|
@@ -18,7 +18,7 @@ django.setup()
|
|
|
18
18
|
project = "python-terminusgps"
|
|
19
19
|
copyright = "2025, Terminus GPS, LLC"
|
|
20
20
|
author = "Terminus GPS, LLC"
|
|
21
|
-
release = "
|
|
21
|
+
release = "42.0.0"
|
|
22
22
|
|
|
23
23
|
# -- General configuration ---------------------------------------------------
|
|
24
24
|
# 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 = "42.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" } ]
|
|
@@ -27,24 +27,27 @@ class WialonObjectFactory:
|
|
|
27
27
|
# TODO: Add session refreshing
|
|
28
28
|
self.session = session
|
|
29
29
|
|
|
30
|
-
def get(self, id: int | str, items_type: str) -> WialonObject:
|
|
31
|
-
"""Returns a Wialon object that already exists in Wialon by id."""
|
|
32
|
-
if isinstance(id, str) and not id.isdigit():
|
|
33
|
-
raise ValueError(f"'id' can only be digits, got '{id}'.")
|
|
34
|
-
if items_type not in WIALON_ITEMSTYPE_MAP:
|
|
35
|
-
raise ValueError(f"Invalid Wialon items type: '{items_type}'.")
|
|
36
|
-
cls = WIALON_ITEMSTYPE_MAP.get(items_type)
|
|
37
|
-
if cls is None:
|
|
38
|
-
raise ValueError(f"Wialon items type '{items_type}' is not implemented.")
|
|
39
|
-
return cls(session=self.session, id=int(id))
|
|
40
|
-
|
|
41
30
|
def create(self, items_type: str, *args, **kwargs) -> WialonObject:
|
|
42
|
-
"""
|
|
43
|
-
|
|
31
|
+
"""Creates a Wialon object in Wialon and returns its Python equivalent."""
|
|
32
|
+
cls = self._get_wialon_cls(items_type)
|
|
33
|
+
if cls is None:
|
|
44
34
|
raise ValueError(f"Invalid Wialon items type: '{items_type}'.")
|
|
45
|
-
cls
|
|
35
|
+
return self._create_wialon_obj(cls, *args, **kwargs)
|
|
36
|
+
|
|
37
|
+
def get(self, items_type: str, id: int | str) -> WialonObject:
|
|
38
|
+
"""Retrieves a Wialon object from Wialon and returns its Python equivalent."""
|
|
39
|
+
cls = self._get_wialon_cls(items_type)
|
|
46
40
|
if cls is None:
|
|
47
|
-
raise ValueError(f"Wialon items type '{items_type}'
|
|
41
|
+
raise ValueError(f"Invalid Wialon items type: '{items_type}'.")
|
|
42
|
+
return self._retrieve_wialon_obj(cls, id)
|
|
43
|
+
|
|
44
|
+
def _get_wialon_cls(self, items_type) -> WialonObject | None:
|
|
45
|
+
return WIALON_ITEMSTYPE_MAP.get(items_type)
|
|
46
|
+
|
|
47
|
+
def _create_wialon_obj(self, cls, *args, **kwargs) -> WialonObject:
|
|
48
48
|
obj = cls(session=self.session, id=None)
|
|
49
49
|
obj.create(*args, **kwargs)
|
|
50
50
|
return obj
|
|
51
|
+
|
|
52
|
+
def _retrieve_wialon_obj(self, cls, id) -> WialonObject:
|
|
53
|
+
return cls(session=self.session, id=int(id))
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/retranslator.py
RENAMED
|
@@ -3,15 +3,18 @@ from typing import TypedDict
|
|
|
3
3
|
from terminusgps.wialon import flags
|
|
4
4
|
from terminusgps.wialon.items.base import WialonObject
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
6
|
+
WialonRetranslatorConfiguration = TypedDict(
|
|
7
|
+
"WialonRetranslatorConfiguration",
|
|
8
|
+
{
|
|
9
|
+
"protocol": str,
|
|
10
|
+
"server": str,
|
|
11
|
+
"port": int,
|
|
12
|
+
"auth": str,
|
|
13
|
+
"ssl": int,
|
|
14
|
+
"debug": int,
|
|
15
|
+
"v6type": int,
|
|
16
|
+
},
|
|
17
|
+
)
|
|
15
18
|
|
|
16
19
|
|
|
17
20
|
class WialonRetranslator(WialonObject):
|
|
@@ -132,3 +132,13 @@ class WialonUnit(WialonObject):
|
|
|
132
132
|
if command_ids is not None
|
|
133
133
|
else {"itemId": self.id}
|
|
134
134
|
)
|
|
135
|
+
|
|
136
|
+
@requires_id
|
|
137
|
+
def get_imei(self) -> str:
|
|
138
|
+
return str(
|
|
139
|
+
self.session.wialon_api.core_search_item(
|
|
140
|
+
**{"id": self.id, "flags": flags.DataFlag.UNIT_ADVANCED_PROPERTIES}
|
|
141
|
+
)
|
|
142
|
+
.get("item", {})
|
|
143
|
+
.get("uid")
|
|
144
|
+
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/constants.rst
RENAMED
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/controllers.rst
RENAMED
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/examples.rst
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/profiles.rst
RENAMED
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/subscriptions.rst
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/docs/source/authorizenet/validators.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/constants.py
RENAMED
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/controllers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/subscriptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/authorizenet/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/forms/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/django/forms/renderer.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
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/resource.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-41.3.0 → python_terminusgps-42.0.0}/terminusgps/wialon/items/unit_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|