python-terminusgps 20.6.2__tar.gz → 20.7.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-20.6.2 → python_terminusgps-20.7.0}/PKG-INFO +1 -1
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/pyproject.toml +1 -1
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/__init__.py +0 -1
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/resource.py +111 -1
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/unit.py +1 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/uv.lock +48 -48
- python_terminusgps-20.6.2/terminusgps/wialon/items/geofence.py +0 -60
- python_terminusgps-20.6.2/terminusgps/wialon/items/notification.py +0 -4
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/.gitignore +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/.readthedocs.yaml +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/COPYING +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/README.md +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/Makefile +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/make.bat +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/authorizenet/auth.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/authorizenet/index.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/authorizenet/profiles.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/aws/index.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/aws/secrets.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/conf.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/index.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/settings.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/twilio/caller.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/twilio/index.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/wialon/constants.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/wialon/errors.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/wialon/examples.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/wialon/flags.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/wialon/index.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/wialon/items.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/wialon/session.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/docs/source/wialon/utils.rst +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/__init__.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/__init__.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/auth.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/profiles/__init__.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/profiles/addresses.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/profiles/base.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/profiles/customers.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/profiles/payments.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/subscriptions.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/aws/__init__.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/aws/secrets.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/aws/ses.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/settings.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/twilio/__init__.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/twilio/caller.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/__init__.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/constants.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/flags.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/base.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/retranslator.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/route.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/unit_group.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/user.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/logger.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/session.py +0 -0
- {python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-terminusgps
|
|
3
|
-
Version: 20.
|
|
3
|
+
Version: 20.7.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://app.terminusgps.com/docs/apps/python-terminusgps/index.html
|
|
6
6
|
Project-URL: Repository, https://github.com/terminusgps/python-terminusgps
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "python-terminusgps"
|
|
3
|
-
version = "20.
|
|
3
|
+
version = "20.7.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" } ]
|
{python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/resource.py
RENAMED
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
from urllib.parse import quote_plus
|
|
2
|
+
|
|
1
3
|
from terminusgps.wialon import flags
|
|
2
4
|
from terminusgps.wialon.items.base import WialonBase
|
|
3
5
|
|
|
4
6
|
|
|
5
7
|
class WialonResource(WialonBase):
|
|
6
|
-
def create(
|
|
8
|
+
def create(
|
|
9
|
+
self, creator_id: str | int, name: str, skip_creator_check: bool = False
|
|
10
|
+
) -> int | None:
|
|
7
11
|
"""
|
|
8
12
|
Creates a new Wialon resource.
|
|
9
13
|
|
|
@@ -11,6 +15,8 @@ class WialonResource(WialonBase):
|
|
|
11
15
|
:type creator_id: :py:obj:`int` | :py:obj:`str`
|
|
12
16
|
:param name: A name for the resource.
|
|
13
17
|
:type name: :py:obj:`str`
|
|
18
|
+
:param skip_creator_check: Bypass object creation restrictions while creating the resource.
|
|
19
|
+
:type skip_creator_check: :py:obj:`bool`
|
|
14
20
|
:raises ValueError: If ``creator_id`` is not a digit.
|
|
15
21
|
:raises WialonError: If something goes wrong with Wialon.
|
|
16
22
|
:returns: The Wialon id for the new resource, if it was created.
|
|
@@ -25,6 +31,7 @@ class WialonResource(WialonBase):
|
|
|
25
31
|
"creatorId": creator_id,
|
|
26
32
|
"name": name,
|
|
27
33
|
"dataFlags": flags.DATAFLAG_UNIT_BASE,
|
|
34
|
+
"skipCreatorCheck": int(skip_creator_check),
|
|
28
35
|
}
|
|
29
36
|
)
|
|
30
37
|
return int(response.get("item", {}).get("id")) if response.get("item") else None
|
|
@@ -272,3 +279,106 @@ class WialonResource(WialonBase):
|
|
|
272
279
|
"denyBalance": deny_balance_val,
|
|
273
280
|
}
|
|
274
281
|
)
|
|
282
|
+
|
|
283
|
+
def create_driver(
|
|
284
|
+
self,
|
|
285
|
+
name: str,
|
|
286
|
+
code: str = "",
|
|
287
|
+
desc: str = "",
|
|
288
|
+
phone: str = "",
|
|
289
|
+
mobile_auth_code: str = "",
|
|
290
|
+
image_checksum: str = "",
|
|
291
|
+
image_ratio: str = "",
|
|
292
|
+
custom_fields: dict[str, str] | None = None,
|
|
293
|
+
) -> None:
|
|
294
|
+
"""
|
|
295
|
+
Creates a driver for the resource.
|
|
296
|
+
|
|
297
|
+
:param name: A name for the new driver.
|
|
298
|
+
:type name: :py:obj:`str`
|
|
299
|
+
:param code: A unique code for the new driver.
|
|
300
|
+
:type code: :py:obj:`str`
|
|
301
|
+
:param desc: Description for the driver.
|
|
302
|
+
:type desc: :py:obj:`str`
|
|
303
|
+
:param phone: A phone number beginning in a country code. No spaces.
|
|
304
|
+
:type phone: :py:obj:`str`
|
|
305
|
+
:param mobile_auth_code: Authentication code for Wialon mobile app.
|
|
306
|
+
:type mobile_auth_code: :py:obj:`str`
|
|
307
|
+
:param image_checksum: Checksum for driver image.
|
|
308
|
+
:type image_checksum: :py:obj:`str`
|
|
309
|
+
:param image_ratio: Driver image aspect ratio.
|
|
310
|
+
:type image_ratio: :py:obj:`float` | :py:obj:`None`
|
|
311
|
+
:param custom_fields: Additional custom fields to add to the driver.
|
|
312
|
+
:type custom_fields: :py:obj:`dict` | :py:obj:`None`
|
|
313
|
+
:raises WialonError: If something goes wrong calling the Wialon API.
|
|
314
|
+
:returns: Nothing.
|
|
315
|
+
:rtype: :py:obj:`None`
|
|
316
|
+
|
|
317
|
+
"""
|
|
318
|
+
params = {
|
|
319
|
+
"itemId": self.id,
|
|
320
|
+
"id": 0,
|
|
321
|
+
"callMode": "create",
|
|
322
|
+
"ej": {"apps": []},
|
|
323
|
+
"c": code,
|
|
324
|
+
"ds": desc,
|
|
325
|
+
"n": name,
|
|
326
|
+
"f": 1,
|
|
327
|
+
"pwd": mobile_auth_code,
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
if phone:
|
|
331
|
+
params.update({"p": quote_plus(phone)})
|
|
332
|
+
if custom_fields:
|
|
333
|
+
params.update({"jp": custom_fields})
|
|
334
|
+
response = self.session.wialon_api.resource_update_driver(**params)
|
|
335
|
+
print(f"{response = }")
|
|
336
|
+
|
|
337
|
+
def create_passenger(
|
|
338
|
+
self,
|
|
339
|
+
name: str,
|
|
340
|
+
code: str,
|
|
341
|
+
phone: str = "",
|
|
342
|
+
timezone: int | None = None,
|
|
343
|
+
image_checksum: str = "",
|
|
344
|
+
image_ratio: float | None = None,
|
|
345
|
+
custom_fields: dict[str, str] | None = None,
|
|
346
|
+
) -> None:
|
|
347
|
+
"""
|
|
348
|
+
Creates a passenger/tag for the resource.
|
|
349
|
+
|
|
350
|
+
:param name: A name for the new passenger.
|
|
351
|
+
:type name: :py:obj:`str`
|
|
352
|
+
:param code: A unique code for the new passenger.
|
|
353
|
+
:type code: :py:obj:`str`
|
|
354
|
+
:param phone: A phone number beginning in a country code. No spaces.
|
|
355
|
+
:type phone: :py:obj:`str`
|
|
356
|
+
:param timezone: A timezone integer.
|
|
357
|
+
:type timezone: :py:obj:`int` | :py:obj:`None`
|
|
358
|
+
:param image_checksum: Checksum for passenger image.
|
|
359
|
+
:type image_checksum: :py:obj:`str`
|
|
360
|
+
:param image_ratio: Passenger image aspect ratio.
|
|
361
|
+
:type image_ratio: :py:obj:`float` | :py:obj:`None`
|
|
362
|
+
:param custom_fields: Additional custom fields to add to the passenger.
|
|
363
|
+
:type custom_fields: :py:obj:`dict` | :py:obj:`None`
|
|
364
|
+
:raises WialonError: If something goes wrong calling the Wialon API.
|
|
365
|
+
:returns: Nothing.
|
|
366
|
+
:rtype: :py:obj:`None`
|
|
367
|
+
|
|
368
|
+
"""
|
|
369
|
+
params = {
|
|
370
|
+
"itemId": self.id,
|
|
371
|
+
"id": 0,
|
|
372
|
+
"callMode": "create",
|
|
373
|
+
"c": code,
|
|
374
|
+
"ck": image_checksum,
|
|
375
|
+
"r": image_ratio,
|
|
376
|
+
"n": name,
|
|
377
|
+
}
|
|
378
|
+
if phone:
|
|
379
|
+
params.update({"p": quote_plus(phone)})
|
|
380
|
+
if timezone:
|
|
381
|
+
params.update({"tz": timezone})
|
|
382
|
+
if custom_fields:
|
|
383
|
+
params.update({"jp": custom_fields})
|
|
384
|
+
self.session.wialon_api.resource_update_tag(**params)
|
|
@@ -199,6 +199,7 @@ class WialonUnit(WialonBase):
|
|
|
199
199
|
return list(dict.fromkeys(phone_numbers)) # Removes duplicate phone numbers
|
|
200
200
|
|
|
201
201
|
def clean_phone_numbers(self, phones: list[str]) -> list[str]:
|
|
202
|
+
"""Takes a list of phone numbers and returns a list of clean phone numbers."""
|
|
202
203
|
cleaned_phones = []
|
|
203
204
|
for num in phones:
|
|
204
205
|
if "," in num:
|
|
@@ -12,7 +12,7 @@ wheels = [
|
|
|
12
12
|
|
|
13
13
|
[[package]]
|
|
14
14
|
name = "aiohttp"
|
|
15
|
-
version = "3.11.
|
|
15
|
+
version = "3.11.13"
|
|
16
16
|
source = { registry = "https://pypi.org/simple" }
|
|
17
17
|
dependencies = [
|
|
18
18
|
{ name = "aiohappyeyeballs" },
|
|
@@ -23,40 +23,40 @@ dependencies = [
|
|
|
23
23
|
{ name = "propcache" },
|
|
24
24
|
{ name = "yarl" },
|
|
25
25
|
]
|
|
26
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
27
|
-
wheels = [
|
|
28
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
29
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
30
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
31
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
32
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
33
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
34
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
35
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
36
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
37
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
38
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
39
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
40
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
41
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
42
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
43
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
44
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
45
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
46
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
47
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
48
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
49
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
50
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
51
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
52
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
53
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
54
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
55
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
56
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
57
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
58
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
59
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
26
|
+
sdist = { url = "https://files.pythonhosted.org/packages/b3/3f/c4a667d184c69667b8f16e0704127efc5f1e60577df429382b4d95fd381e/aiohttp-3.11.13.tar.gz", hash = "sha256:8ce789231404ca8fff7f693cdce398abf6d90fd5dae2b1847477196c243b1fbb", size = 7674284 }
|
|
27
|
+
wheels = [
|
|
28
|
+
{ url = "https://files.pythonhosted.org/packages/9a/a9/6657664a55f78db8767e396cc9723782ed3311eb57704b0a5dacfa731916/aiohttp-3.11.13-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2eabb269dc3852537d57589b36d7f7362e57d1ece308842ef44d9830d2dc3c90", size = 705054 },
|
|
29
|
+
{ url = "https://files.pythonhosted.org/packages/3b/06/f7df1fe062d16422f70af5065b76264f40b382605cf7477fa70553a9c9c1/aiohttp-3.11.13-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7b77ee42addbb1c36d35aca55e8cc6d0958f8419e458bb70888d8c69a4ca833d", size = 464440 },
|
|
30
|
+
{ url = "https://files.pythonhosted.org/packages/22/3a/8773ea866735754004d9f79e501fe988bdd56cfac7fdecbc8de17fc093eb/aiohttp-3.11.13-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55789e93c5ed71832e7fac868167276beadf9877b85697020c46e9a75471f55f", size = 456394 },
|
|
31
|
+
{ url = "https://files.pythonhosted.org/packages/7f/61/8e2f2af2327e8e475a2b0890f15ef0bbfd117e321cce1e1ed210df81bbac/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c929f9a7249a11e4aa5c157091cfad7f49cc6b13f4eecf9b747104befd9f56f2", size = 1682752 },
|
|
32
|
+
{ url = "https://files.pythonhosted.org/packages/24/ed/84fce816bc8da39aa3f6c1196fe26e47065fea882b1a67a808282029c079/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d33851d85537bbf0f6291ddc97926a754c8f041af759e0aa0230fe939168852b", size = 1737375 },
|
|
33
|
+
{ url = "https://files.pythonhosted.org/packages/d9/de/35a5ba9e3d21ebfda1ebbe66f6cc5cbb4d3ff9bd6a03e5e8a788954f8f27/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9229d8613bd8401182868fe95688f7581673e1c18ff78855671a4b8284f47bcb", size = 1793660 },
|
|
34
|
+
{ url = "https://files.pythonhosted.org/packages/ff/fe/0f650a8c7c72c8a07edf8ab164786f936668acd71786dd5885fc4b1ca563/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669dd33f028e54fe4c96576f406ebb242ba534dd3a981ce009961bf49960f117", size = 1692233 },
|
|
35
|
+
{ url = "https://files.pythonhosted.org/packages/a8/20/185378b3483f968c6303aafe1e33b0da0d902db40731b2b2b2680a631131/aiohttp-3.11.13-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c1b20a1ace54af7db1f95af85da530fe97407d9063b7aaf9ce6a32f44730778", size = 1619708 },
|
|
36
|
+
{ url = "https://files.pythonhosted.org/packages/a4/f9/d9c181750980b17e1e13e522d7e82a8d08d3d28a2249f99207ef5d8d738f/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5724cc77f4e648362ebbb49bdecb9e2b86d9b172c68a295263fa072e679ee69d", size = 1641802 },
|
|
37
|
+
{ url = "https://files.pythonhosted.org/packages/50/c7/1cb46b72b1788710343b6e59eaab9642bd2422f2d87ede18b1996e0aed8f/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:aa36c35e94ecdb478246dd60db12aba57cfcd0abcad43c927a8876f25734d496", size = 1684678 },
|
|
38
|
+
{ url = "https://files.pythonhosted.org/packages/71/87/89b979391de840c5d7c34e78e1148cc731b8aafa84b6a51d02f44b4c66e2/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9b5b37c863ad5b0892cc7a4ceb1e435e5e6acd3f2f8d3e11fa56f08d3c67b820", size = 1646921 },
|
|
39
|
+
{ url = "https://files.pythonhosted.org/packages/a7/db/a463700ac85b72f8cf68093e988538faaf4e865e3150aa165cf80ee29d6e/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e06cf4852ce8c4442a59bae5a3ea01162b8fcb49ab438d8548b8dc79375dad8a", size = 1702493 },
|
|
40
|
+
{ url = "https://files.pythonhosted.org/packages/b8/32/1084e65da3adfb08c7e1b3e94f3e4ded8bd707dee265a412bc377b7cd000/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5194143927e494616e335d074e77a5dac7cd353a04755330c9adc984ac5a628e", size = 1735004 },
|
|
41
|
+
{ url = "https://files.pythonhosted.org/packages/a0/bb/a634cbdd97ce5d05c2054a9a35bfc32792d7e4f69d600ad7e820571d095b/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:afcb6b275c2d2ba5d8418bf30a9654fa978b4f819c2e8db6311b3525c86fe637", size = 1694964 },
|
|
42
|
+
{ url = "https://files.pythonhosted.org/packages/fd/cf/7d29db4e5c28ec316e5d2ac9ac9df0e2e278e9ea910e5c4205b9b64c2c42/aiohttp-3.11.13-cp312-cp312-win32.whl", hash = "sha256:7104d5b3943c6351d1ad7027d90bdd0ea002903e9f610735ac99df3b81f102ee", size = 411746 },
|
|
43
|
+
{ url = "https://files.pythonhosted.org/packages/65/a9/13e69ad4fd62104ebd94617f9f2be58231b50bb1e6bac114f024303ac23b/aiohttp-3.11.13-cp312-cp312-win_amd64.whl", hash = "sha256:47dc018b1b220c48089b5b9382fbab94db35bef2fa192995be22cbad3c5730c8", size = 438078 },
|
|
44
|
+
{ url = "https://files.pythonhosted.org/packages/87/dc/7d58d33cec693f1ddf407d4ab975445f5cb507af95600f137b81683a18d8/aiohttp-3.11.13-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9862d077b9ffa015dbe3ce6c081bdf35135948cb89116e26667dd183550833d1", size = 698372 },
|
|
45
|
+
{ url = "https://files.pythonhosted.org/packages/84/e7/5d88514c9e24fbc8dd6117350a8ec4a9314f4adae6e89fe32e3e639b0c37/aiohttp-3.11.13-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fbfef0666ae9e07abfa2c54c212ac18a1f63e13e0760a769f70b5717742f3ece", size = 461057 },
|
|
46
|
+
{ url = "https://files.pythonhosted.org/packages/96/1a/8143c48a929fa00c6324f85660cb0f47a55ed9385f0c1b72d4b8043acf8e/aiohttp-3.11.13-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:93a1f7d857c4fcf7cabb1178058182c789b30d85de379e04f64c15b7e88d66fb", size = 453340 },
|
|
47
|
+
{ url = "https://files.pythonhosted.org/packages/2f/1c/b8010e4d65c5860d62681088e5376f3c0a940c5e3ca8989cae36ce8c3ea8/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba40b7ae0f81c7029583a338853f6607b6d83a341a3dcde8bed1ea58a3af1df9", size = 1665561 },
|
|
48
|
+
{ url = "https://files.pythonhosted.org/packages/19/ed/a68c3ab2f92fdc17dfc2096117d1cfaa7f7bdded2a57bacbf767b104165b/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b5b95787335c483cd5f29577f42bbe027a412c5431f2f80a749c80d040f7ca9f", size = 1718335 },
|
|
49
|
+
{ url = "https://files.pythonhosted.org/packages/27/4f/3a0b6160ce663b8ebdb65d1eedff60900cd7108838c914d25952fe2b909f/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7d474c5c1f0b9405c1565fafdc4429fa7d986ccbec7ce55bc6a330f36409cad", size = 1775522 },
|
|
50
|
+
{ url = "https://files.pythonhosted.org/packages/0b/58/9da09291e19696c452e7224c1ce8c6d23a291fe8cd5c6b247b51bcda07db/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e83fb1991e9d8982b3b36aea1e7ad27ea0ce18c14d054c7a404d68b0319eebb", size = 1677566 },
|
|
51
|
+
{ url = "https://files.pythonhosted.org/packages/3d/18/6184f2bf8bbe397acbbbaa449937d61c20a6b85765f48e5eddc6d84957fe/aiohttp-3.11.13-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4586a68730bd2f2b04a83e83f79d271d8ed13763f64b75920f18a3a677b9a7f0", size = 1603590 },
|
|
52
|
+
{ url = "https://files.pythonhosted.org/packages/04/94/91e0d1ca0793012ccd927e835540aa38cca98bdce2389256ab813ebd64a3/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fe4eb0e7f50cdb99b26250d9328faef30b1175a5dbcfd6d0578d18456bac567", size = 1618688 },
|
|
53
|
+
{ url = "https://files.pythonhosted.org/packages/71/85/d13c3ea2e48a10b43668305d4903838834c3d4112e5229177fbcc23a56cd/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2a8a6bc19818ac3e5596310ace5aa50d918e1ebdcc204dc96e2f4d505d51740c", size = 1658053 },
|
|
54
|
+
{ url = "https://files.pythonhosted.org/packages/12/6a/3242a35100de23c1e8d9e05e8605e10f34268dee91b00d9d1e278c58eb80/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7f27eec42f6c3c1df09cfc1f6786308f8b525b8efaaf6d6bd76c1f52c6511f6a", size = 1616917 },
|
|
55
|
+
{ url = "https://files.pythonhosted.org/packages/f5/b3/3f99b6f0a9a79590a7ba5655dbde8408c685aa462247378c977603464d0a/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:2a4a13dfbb23977a51853b419141cd0a9b9573ab8d3a1455c6e63561387b52ff", size = 1685872 },
|
|
56
|
+
{ url = "https://files.pythonhosted.org/packages/8a/2e/99672181751f280a85e24fcb9a2c2469e8b1a0de1746b7b5c45d1eb9a999/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:02876bf2f69b062584965507b07bc06903c2dc93c57a554b64e012d636952654", size = 1715719 },
|
|
57
|
+
{ url = "https://files.pythonhosted.org/packages/7a/cd/68030356eb9a7d57b3e2823c8a852709d437abb0fbff41a61ebc351b7625/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b992778d95b60a21c4d8d4a5f15aaab2bd3c3e16466a72d7f9bfd86e8cea0d4b", size = 1673166 },
|
|
58
|
+
{ url = "https://files.pythonhosted.org/packages/03/61/425397a9a2839c609d09fdb53d940472f316a2dbeaa77a35b2628dae6284/aiohttp-3.11.13-cp313-cp313-win32.whl", hash = "sha256:507ab05d90586dacb4f26a001c3abf912eb719d05635cbfad930bdbeb469b36c", size = 410615 },
|
|
59
|
+
{ url = "https://files.pythonhosted.org/packages/9c/54/ebb815bc0fe057d8e7a11c086c479e972e827082f39aeebc6019dd4f0862/aiohttp-3.11.13-cp313-cp313-win_amd64.whl", hash = "sha256:5ceb81a4db2decdfa087381b5fc5847aa448244f973e5da232610304e199e7b2", size = 436452 },
|
|
60
60
|
]
|
|
61
61
|
|
|
62
62
|
[[package]]
|
|
@@ -168,30 +168,30 @@ wheels = [
|
|
|
168
168
|
|
|
169
169
|
[[package]]
|
|
170
170
|
name = "boto3"
|
|
171
|
-
version = "1.36.
|
|
171
|
+
version = "1.36.26"
|
|
172
172
|
source = { registry = "https://pypi.org/simple" }
|
|
173
173
|
dependencies = [
|
|
174
174
|
{ name = "botocore" },
|
|
175
175
|
{ name = "jmespath" },
|
|
176
176
|
{ name = "s3transfer" },
|
|
177
177
|
]
|
|
178
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
178
|
+
sdist = { url = "https://files.pythonhosted.org/packages/79/af/2082fde2cbd81f8b60fd46e3ac07a0f841abfdb9818b818d560e42b5c444/boto3-1.36.26.tar.gz", hash = "sha256:523b69457eee55ac15aa707c0e768b2a45ca1521f95b2442931090633ec72458", size = 111027 }
|
|
179
179
|
wheels = [
|
|
180
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
180
|
+
{ url = "https://files.pythonhosted.org/packages/b1/a7/9081049e432f5130c6bd4d86f4db7a7729f812ebceda59baff69a06b19a5/boto3-1.36.26-py3-none-any.whl", hash = "sha256:f67d014a7c5a3cd540606d64d7cb9eec3600cf42acab1ac0518df9751ae115e2", size = 139178 },
|
|
181
181
|
]
|
|
182
182
|
|
|
183
183
|
[[package]]
|
|
184
184
|
name = "botocore"
|
|
185
|
-
version = "1.36.
|
|
185
|
+
version = "1.36.26"
|
|
186
186
|
source = { registry = "https://pypi.org/simple" }
|
|
187
187
|
dependencies = [
|
|
188
188
|
{ name = "jmespath" },
|
|
189
189
|
{ name = "python-dateutil" },
|
|
190
190
|
{ name = "urllib3" },
|
|
191
191
|
]
|
|
192
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
192
|
+
sdist = { url = "https://files.pythonhosted.org/packages/69/db/caa8778cf98ecbe0ad0efd7fbf673e2d036373386582e15dffff80bf16e1/botocore-1.36.26.tar.gz", hash = "sha256:4a63bcef7ecf6146fd3a61dc4f9b33b7473b49bdaf1770e9aaca6eee0c9eab62", size = 13574958 }
|
|
193
193
|
wheels = [
|
|
194
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
194
|
+
{ url = "https://files.pythonhosted.org/packages/dd/0c/a3eeca35b22ac8f441d412881582a5f3b8665de0269baf9fdeb8e86d7f1c/botocore-1.36.26-py3-none-any.whl", hash = "sha256:4e3f19913887a58502e71ef8d696fe7eaa54de7813ff73390cd5883f837dfa6e", size = 13360675 },
|
|
195
195
|
]
|
|
196
196
|
|
|
197
197
|
[[package]]
|
|
@@ -556,7 +556,7 @@ wheels = [
|
|
|
556
556
|
|
|
557
557
|
[[package]]
|
|
558
558
|
name = "python-terminusgps"
|
|
559
|
-
version = "20.
|
|
559
|
+
version = "20.7.0"
|
|
560
560
|
source = { editable = "." }
|
|
561
561
|
dependencies = [
|
|
562
562
|
{ name = "argparse" },
|
|
@@ -630,11 +630,11 @@ wheels = [
|
|
|
630
630
|
|
|
631
631
|
[[package]]
|
|
632
632
|
name = "roman-numerals-py"
|
|
633
|
-
version = "3.
|
|
633
|
+
version = "3.1.0"
|
|
634
634
|
source = { registry = "https://pypi.org/simple" }
|
|
635
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
635
|
+
sdist = { url = "https://files.pythonhosted.org/packages/30/76/48fd56d17c5bdbdf65609abbc67288728a98ed4c02919428d4f52d23b24b/roman_numerals_py-3.1.0.tar.gz", hash = "sha256:be4bf804f083a4ce001b5eb7e3c0862479d10f94c936f6c4e5f250aa5ff5bd2d", size = 9017 }
|
|
636
636
|
wheels = [
|
|
637
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
637
|
+
{ url = "https://files.pythonhosted.org/packages/53/97/d2cbbaa10c9b826af0e10fdf836e1bf344d9f0abb873ebc34d1f49642d3f/roman_numerals_py-3.1.0-py3-none-any.whl", hash = "sha256:9da2ad2fb670bcf24e81070ceb3be72f6c11c440d73bd579fbeca1e9f330954c", size = 7742 },
|
|
638
638
|
]
|
|
639
639
|
|
|
640
640
|
[[package]]
|
|
@@ -713,7 +713,7 @@ wheels = [
|
|
|
713
713
|
|
|
714
714
|
[[package]]
|
|
715
715
|
name = "sphinx"
|
|
716
|
-
version = "8.2.
|
|
716
|
+
version = "8.2.1"
|
|
717
717
|
source = { registry = "https://pypi.org/simple" }
|
|
718
718
|
dependencies = [
|
|
719
719
|
{ name = "alabaster" },
|
|
@@ -734,9 +734,9 @@ dependencies = [
|
|
|
734
734
|
{ name = "sphinxcontrib-qthelp" },
|
|
735
735
|
{ name = "sphinxcontrib-serializinghtml" },
|
|
736
736
|
]
|
|
737
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
737
|
+
sdist = { url = "https://files.pythonhosted.org/packages/99/4b/95bdb36eaee30698f2d244d52e1b9e58642af56525d4b02fcd0f7312c27c/sphinx-8.2.1.tar.gz", hash = "sha256:e4b932951b9c18b039f73b72e4e63afe967d90408700ec222b981ac24647c01e", size = 8321376 }
|
|
738
738
|
wheels = [
|
|
739
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
739
|
+
{ url = "https://files.pythonhosted.org/packages/cf/aa/282768cff0039b227a923cb65686539bb606e448c594d4fdee4d2c7765a1/sphinx-8.2.1-py3-none-any.whl", hash = "sha256:b5d2bb3cdf6207fcacde9f92085d2b97667b05b9c346eaec426ca4be8af505e9", size = 3589415 },
|
|
740
740
|
]
|
|
741
741
|
|
|
742
742
|
[[package]]
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
from django.db import models
|
|
2
|
-
|
|
3
|
-
from terminusgps.wialon.items.base import WialonBase
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class WialonGeofence(WialonBase):
|
|
7
|
-
def __new__(cls) -> "WialonGeofence":
|
|
8
|
-
raise NotImplementedError()
|
|
9
|
-
|
|
10
|
-
class WialonGeofenceShape(models.IntegerChoices):
|
|
11
|
-
LINE = 1
|
|
12
|
-
POLYGON = 2
|
|
13
|
-
CIRCLE = 3
|
|
14
|
-
|
|
15
|
-
class WialonGeofenceColor(models.IntegerChoices):
|
|
16
|
-
RED = int("ff0000", 16)
|
|
17
|
-
ORANGE = int("ff7b00", 16)
|
|
18
|
-
YELLOW = int("fffb00", 16)
|
|
19
|
-
GREEN = int("20ff00", 16)
|
|
20
|
-
BLUE = int("0090ff", 16)
|
|
21
|
-
PURPLE = int("7000ff", 16)
|
|
22
|
-
WHITE = int("f3f3f3", 16)
|
|
23
|
-
BLACK = int("030303", 16)
|
|
24
|
-
|
|
25
|
-
def create(
|
|
26
|
-
self,
|
|
27
|
-
resource_id: str | int,
|
|
28
|
-
name: str,
|
|
29
|
-
xpos: float,
|
|
30
|
-
ypos: float,
|
|
31
|
-
desc: str | None = None,
|
|
32
|
-
shape: int = WialonGeofenceShape.CIRCLE,
|
|
33
|
-
width: int = 100,
|
|
34
|
-
flags: int = 0x04,
|
|
35
|
-
color: int = WialonGeofenceColor.GREEN,
|
|
36
|
-
text_color: int = WialonGeofenceColor.BLACK,
|
|
37
|
-
text_size: int = 12,
|
|
38
|
-
min_zoom: int = 2,
|
|
39
|
-
max_zoom: int = 19,
|
|
40
|
-
) -> int | None:
|
|
41
|
-
response = self.session.wialon_api.resource_update_zone(
|
|
42
|
-
**{
|
|
43
|
-
"itemId": resource_id,
|
|
44
|
-
"id": 0,
|
|
45
|
-
"callMode": "create",
|
|
46
|
-
"n": name,
|
|
47
|
-
"d": desc if desc else name,
|
|
48
|
-
"t": shape,
|
|
49
|
-
"w": width,
|
|
50
|
-
"f": flags,
|
|
51
|
-
"c": color,
|
|
52
|
-
"tc": text_color,
|
|
53
|
-
"ts": text_size,
|
|
54
|
-
"min": min_zoom,
|
|
55
|
-
"max": max_zoom,
|
|
56
|
-
"p": [{"x": xpos, "y": ypos, "r": width}],
|
|
57
|
-
}
|
|
58
|
-
)
|
|
59
|
-
if response:
|
|
60
|
-
return int(response[0])
|
|
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-20.6.2 → python_terminusgps-20.7.0}/docs/source/authorizenet/profiles.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
|
|
File without changes
|
{python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/profiles/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/authorizenet/subscriptions.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
|
|
File without changes
|
|
File without changes
|
{python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/retranslator.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_terminusgps-20.6.2 → python_terminusgps-20.7.0}/terminusgps/wialon/items/unit_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|