layrz-sdk 3.0.8__py3-none-any.whl → 3.0.10__py3-none-any.whl

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 layrz-sdk might be problematic. Click here for more details.

Files changed (55) hide show
  1. layrz_sdk/entities/broadcasts/request.py +10 -9
  2. layrz_sdk/entities/broadcasts/response.py +10 -9
  3. layrz_sdk/entities/broadcasts/result.py +13 -11
  4. layrz_sdk/entities/broadcasts/service.py +8 -9
  5. layrz_sdk/entities/broadcasts/status.py +10 -9
  6. layrz_sdk/entities/cases/case.py +33 -30
  7. layrz_sdk/entities/cases/comment.py +10 -10
  8. layrz_sdk/entities/cases/trigger.py +9 -10
  9. layrz_sdk/entities/charts/alignment.py +9 -8
  10. layrz_sdk/entities/charts/bar.py +31 -45
  11. layrz_sdk/entities/charts/color.py +12 -10
  12. layrz_sdk/entities/charts/column.py +30 -49
  13. layrz_sdk/entities/charts/configuration.py +11 -12
  14. layrz_sdk/entities/charts/data_type.py +9 -8
  15. layrz_sdk/entities/charts/exceptions.py +11 -12
  16. layrz_sdk/entities/charts/html.py +6 -5
  17. layrz_sdk/entities/charts/line.py +52 -46
  18. layrz_sdk/entities/charts/map.py +23 -19
  19. layrz_sdk/entities/charts/number.py +6 -5
  20. layrz_sdk/entities/charts/pie.py +27 -34
  21. layrz_sdk/entities/charts/radar.py +14 -34
  22. layrz_sdk/entities/charts/radial_bar.py +27 -34
  23. layrz_sdk/entities/charts/render_technology.py +9 -8
  24. layrz_sdk/entities/charts/scatter.py +52 -53
  25. layrz_sdk/entities/charts/serie.py +4 -3
  26. layrz_sdk/entities/charts/serie_type.py +9 -8
  27. layrz_sdk/entities/charts/table.py +6 -6
  28. layrz_sdk/entities/charts/timeline.py +21 -32
  29. layrz_sdk/entities/checkpoints/checkpoint.py +15 -12
  30. layrz_sdk/entities/checkpoints/geofence.py +9 -10
  31. layrz_sdk/entities/checkpoints/waypoint.py +14 -12
  32. layrz_sdk/entities/events/event.py +15 -13
  33. layrz_sdk/entities/formatting/text_align.py +10 -9
  34. layrz_sdk/entities/general/asset.py +16 -13
  35. layrz_sdk/entities/general/asset_operation_mode.py +9 -8
  36. layrz_sdk/entities/general/custom_field.py +9 -10
  37. layrz_sdk/entities/general/device.py +13 -12
  38. layrz_sdk/entities/general/sensor.py +9 -10
  39. layrz_sdk/entities/general/user.py +9 -10
  40. layrz_sdk/entities/repcom/transaction.py +4 -4
  41. layrz_sdk/entities/reports/col.py +17 -15
  42. layrz_sdk/entities/reports/format.py +3 -4
  43. layrz_sdk/entities/reports/header.py +4 -5
  44. layrz_sdk/entities/reports/page.py +12 -11
  45. layrz_sdk/entities/reports/report.py +18 -14
  46. layrz_sdk/entities/reports/row.py +10 -10
  47. layrz_sdk/entities/telemetry/message.py +5 -4
  48. layrz_sdk/entities/telemetry/position.py +13 -12
  49. layrz_sdk/lcl/core.py +53 -53
  50. {layrz_sdk-3.0.8.dist-info → layrz_sdk-3.0.10.dist-info}/METADATA +1 -1
  51. layrz_sdk-3.0.10.dist-info/RECORD +69 -0
  52. layrz_sdk-3.0.8.dist-info/RECORD +0 -69
  53. {layrz_sdk-3.0.8.dist-info → layrz_sdk-3.0.10.dist-info}/LICENSE +0 -0
  54. {layrz_sdk-3.0.8.dist-info → layrz_sdk-3.0.10.dist-info}/WHEEL +0 -0
  55. {layrz_sdk-3.0.8.dist-info → layrz_sdk-3.0.10.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,8 @@
1
- """ Report col """
1
+ """Report col"""
2
+
2
3
  import warnings
3
4
  from enum import Enum
4
- from typing import Any, Self
5
+ from typing import Any
5
6
 
6
7
  from ..formatting.text_align import TextAlignment
7
8
 
@@ -10,6 +11,7 @@ class ReportDataType(Enum):
10
11
  """
11
12
  Report date type
12
13
  """
14
+
13
15
  STR = 'str'
14
16
  INT = 'int'
15
17
  FLOAT = 'float'
@@ -18,16 +20,16 @@ class ReportDataType(Enum):
18
20
  CURRENCY = 'currency'
19
21
 
20
22
  @property
21
- def _readable(self: Self) -> str | None | bool:
22
- """ Readable """
23
+ def _readable(self) -> str | None | bool:
24
+ """Readable"""
23
25
  return f'ReportDataType.{self.value}'
24
26
 
25
- def __str__(self: Self) -> str | None | bool:
26
- """ Readable property """
27
+ def __str__(self) -> str | None | bool:
28
+ """Readable property"""
27
29
  return self._readable
28
30
 
29
- def __repr__(self: Self) -> str | None | bool:
30
- """ Readable property """
31
+ def __repr__(self) -> str | None | bool:
32
+ """Readable property"""
31
33
  return self._readable
32
34
 
33
35
 
@@ -48,7 +50,7 @@ class ReportCol:
48
50
  """
49
51
 
50
52
  def __init__(
51
- self: Self,
53
+ self,
52
54
  content: Any,
53
55
  color: str = '#ffffff',
54
56
  text_color: str = None,
@@ -71,14 +73,14 @@ class ReportCol:
71
73
  self.bold = bold
72
74
 
73
75
  @property
74
- def _readable(self: Self) -> str | None | bool:
75
- """ Readable property """
76
+ def _readable(self) -> str | None | bool:
77
+ """Readable property"""
76
78
  return f'ReportCol(content={self.content})'
77
79
 
78
- def __repr__(self: Self) -> str | None | bool:
79
- """ Readable property """
80
+ def __repr__(self) -> str | None | bool:
81
+ """Readable property"""
80
82
  return self._readable
81
83
 
82
- def __str__(self: Self) -> str | None | bool:
83
- """ Readable property """
84
+ def __str__(self) -> str | None | bool:
85
+ """Readable property"""
84
86
  return self._readable
@@ -1,7 +1,6 @@
1
1
  """Report formats"""
2
2
 
3
3
  from enum import Enum
4
- from typing import Self
5
4
 
6
5
 
7
6
  class ReportFormat(Enum):
@@ -14,14 +13,14 @@ class ReportFormat(Enum):
14
13
  PDF = 'PDF'
15
14
 
16
15
  @property
17
- def _readable(self: Self) -> str:
16
+ def _readable(self) -> str:
18
17
  """Readable"""
19
18
  return f'ReportFormat.{self.value}'
20
19
 
21
- def __str__(self: Self) -> str:
20
+ def __str__(self) -> str:
22
21
  """Readable property"""
23
22
  return self._readable
24
23
 
25
- def __repr__(self: Self) -> str:
24
+ def __repr__(self) -> str:
26
25
  """Readable property"""
27
26
  return self._readable
@@ -1,7 +1,6 @@
1
1
  """Report header"""
2
2
 
3
3
  import warnings
4
- from typing import Self
5
4
 
6
5
  from ..formatting.text_align import TextAlignment
7
6
 
@@ -23,7 +22,7 @@ class ReportHeader:
23
22
  """
24
23
 
25
24
  def __init__(
26
- self: Self,
25
+ self,
27
26
  content: str,
28
27
  width: int = None,
29
28
  color: str = '#ffffff',
@@ -45,14 +44,14 @@ class ReportHeader:
45
44
  self.bold = bold
46
45
 
47
46
  @property
48
- def _readable(self: Self) -> str | None | bool:
47
+ def _readable(self) -> str | None | bool:
49
48
  """Readable property"""
50
49
  return f'ReportHeader(content={self.content})'
51
50
 
52
- def __str__(self: Self) -> str | None | bool:
51
+ def __str__(self) -> str | None | bool:
53
52
  """Readable property"""
54
53
  return self._readable
55
54
 
56
- def __repr__(self: Self) -> str | None | bool:
55
+ def __repr__(self) -> str | None | bool:
57
56
  """Readable property"""
58
57
  return self._readable
@@ -1,5 +1,6 @@
1
- """ Report page """
2
- from typing import List, Self
1
+ """Report page"""
2
+
3
+ from typing import List
3
4
 
4
5
  from .header import ReportHeader
5
6
  from .row import ReportRow
@@ -16,7 +17,7 @@ class ReportPage:
16
17
  """
17
18
 
18
19
  def __init__(
19
- self: Self,
20
+ self,
20
21
  name: str,
21
22
  headers: List[ReportHeader],
22
23
  rows: List[ReportRow],
@@ -28,16 +29,16 @@ class ReportPage:
28
29
  self.freeze_header = freeze_header
29
30
 
30
31
  @property
31
- def _readable(self: Self) -> str | None | bool:
32
- """ Readable property """
32
+ def _readable(self) -> str | None | bool:
33
+ """Readable property"""
33
34
  return f'ReportPage(name={self.name}, headers={self.headers}, rows={self.rows})'
34
35
 
35
- def __str__(self: Self) -> str | None | bool:
36
- """ Readable property """
36
+ def __str__(self) -> str | None | bool:
37
+ """Readable property"""
37
38
  return self._readable
38
39
 
39
- def __repr__(self: Self) -> str | None | bool:
40
- """ Readable property """
40
+ def __repr__(self) -> str | None | bool:
41
+ """Readable property"""
41
42
  return self._readable
42
43
 
43
44
 
@@ -54,8 +55,8 @@ class CustomReportPage:
54
55
  return anything.
55
56
  """
56
57
 
57
- def __init__(self: Self, name: str, builder: callable) -> None:
58
- """ Constructor """
58
+ def __init__(self, name: str, builder: callable) -> None:
59
+ """Constructor"""
59
60
  self.name = name
60
61
 
61
62
  if not callable(builder):
@@ -4,7 +4,7 @@ import logging
4
4
  import os
5
5
  import time
6
6
  import warnings
7
- from typing import Any, Dict, List, Self
7
+ from typing import Any, Dict, List
8
8
 
9
9
  import xlsxwriter
10
10
 
@@ -28,7 +28,7 @@ class Report:
28
28
  """
29
29
 
30
30
  def __init__(
31
- self: Self,
31
+ self,
32
32
  name: str,
33
33
  pages: List[ReportPage | CustomReportPage],
34
34
  export_format: ReportFormat = None,
@@ -46,25 +46,25 @@ class Report:
46
46
  self.export_format = export_format
47
47
 
48
48
  @property
49
- def filename(self: Self) -> str | None | bool:
49
+ def filename(self) -> str | None | bool:
50
50
  """Report filename"""
51
51
  return f'{self.name}_{int(time.time() * 1000)}.xlsx'
52
52
 
53
53
  @property
54
- def _readable(self: Self) -> str | None | bool:
54
+ def _readable(self) -> str | None | bool:
55
55
  """Readable property"""
56
56
  return f'Report(name={self.name}, pages={len(self.pages)})'
57
57
 
58
- def __repr__(self: Self) -> str | None | bool:
58
+ def __repr__(self) -> str | None | bool:
59
59
  """Readable property"""
60
60
  return self._readable
61
61
 
62
- def __str__(self: Self) -> str | None | bool:
62
+ def __str__(self) -> str | None | bool:
63
63
  """Readable property"""
64
64
  return self._readable
65
65
 
66
66
  def export(
67
- self: Self,
67
+ self,
68
68
  path: str,
69
69
  export_format: ReportFormat = None,
70
70
  password: str = None,
@@ -88,6 +88,8 @@ class Report:
88
88
  if export_format == ReportFormat.MICROSOFT_EXCEL:
89
89
  return self._export_xlsx(path=path, password=password, msoffice_crypt_path=msoffice_crypt_path)
90
90
  elif export_format == ReportFormat.JSON:
91
+ if password:
92
+ return {'name': self.name, 'is_protected': True, 'pages': []}
91
93
  return self._export_json()
92
94
  else:
93
95
  raise AttributeError(f'Unsupported export format: {export_format}')
@@ -95,15 +97,17 @@ class Report:
95
97
  if self.export_format == ReportFormat.MICROSOFT_EXCEL:
96
98
  return self._export_xlsx(path=path, password=password, msoffice_crypt_path=msoffice_crypt_path)
97
99
  elif self.export_format == ReportFormat.JSON:
100
+ if password:
101
+ return {'name': self.name, 'is_protected': True, 'pages': []}
98
102
  return self._export_json()
99
103
  else:
100
104
  raise AttributeError(f'Unsupported export format: {self.export_format}')
101
105
 
102
- def export_as_json(self: Self) -> Dict[str, Any]:
106
+ def export_as_json(self) -> Dict[str, Any]:
103
107
  """Returns the report as a JSON dict"""
104
108
  return self._export_json()
105
109
 
106
- def _export_json(self: Self) -> Dict[str, Any]:
110
+ def _export_json(self) -> Dict[str, Any]:
107
111
  """Returns a JSON dict of the report"""
108
112
  json_pages = []
109
113
  for page in self.pages:
@@ -148,7 +152,7 @@ class Report:
148
152
  }
149
153
 
150
154
  def _export_xlsx(
151
- self: Self,
155
+ self,
152
156
  path: str,
153
157
  password: str = None,
154
158
  msoffice_crypt_path: str = None,
@@ -264,19 +268,19 @@ class ReportConfiguration:
264
268
  - pages_count : Number of pages in the report
265
269
  """
266
270
 
267
- def __init__(self: Self, title: str, pages_count: int) -> None:
271
+ def __init__(self, title: str, pages_count: int) -> None:
268
272
  self.title = title
269
273
  self.pages_count = pages_count
270
274
 
271
275
  @property
272
- def _readable(self: Self) -> str | None | bool:
276
+ def _readable(self) -> str | None | bool:
273
277
  """Readable property"""
274
278
  return f'ReportConfiguration(title={self.title}, pages_count={self.pages_count})'
275
279
 
276
- def __repr__(self: Self) -> str | None | bool:
280
+ def __repr__(self) -> str | None | bool:
277
281
  """Readable property"""
278
282
  return self._readable
279
283
 
280
- def __str__(self: Self) -> str | None | bool:
284
+ def __str__(self) -> str | None | bool:
281
285
  """Readable property"""
282
286
  return self._readable
@@ -1,6 +1,6 @@
1
- """ Report row """
1
+ """Report row"""
2
2
 
3
- from typing import List, Self
3
+ from typing import List
4
4
 
5
5
  from .col import ReportCol
6
6
 
@@ -17,12 +17,12 @@ class ReportRow:
17
17
  """
18
18
 
19
19
  def __init__(
20
- self: Self,
20
+ self,
21
21
  content: List[ReportCol],
22
22
  height: float = None,
23
23
  compact: bool = False,
24
24
  ) -> None:
25
- """ Constructor """
25
+ """Constructor"""
26
26
  self.content = content
27
27
  self.compact = compact
28
28
 
@@ -30,14 +30,14 @@ class ReportRow:
30
30
  raise DeprecationWarning('height is deprecated.')
31
31
 
32
32
  @property
33
- def _readable(self: Self) -> str | None | bool:
34
- """ Readable property """
33
+ def _readable(self) -> str | None | bool:
34
+ """Readable property"""
35
35
  return f'ReportRow(content={self.content})'
36
36
 
37
- def __str__(self: Self) -> str | None | bool:
38
- """ Readable property """
37
+ def __str__(self) -> str | None | bool:
38
+ """Readable property"""
39
39
  return self._readable
40
40
 
41
- def __repr__(self: Self) -> str | None | bool:
42
- """ Readable property """
41
+ def __repr__(self) -> str | None | bool:
42
+ """Readable property"""
43
43
  return self._readable
@@ -1,6 +1,7 @@
1
- """ Message entity """
1
+ """Message entity"""
2
+
2
3
  from datetime import datetime, timezone
3
- from typing import Any, Self
4
+ from typing import Any
4
5
 
5
6
  from .position import Position
6
7
 
@@ -19,7 +20,7 @@ class Message:
19
20
  """
20
21
 
21
22
  def __init__(
22
- self: Self,
23
+ self,
23
24
  pk: int,
24
25
  asset_id: int,
25
26
  position: Position = None,
@@ -27,7 +28,7 @@ class Message:
27
28
  sensors: Any = None,
28
29
  received_at: datetime = None,
29
30
  ) -> None:
30
- """ Constructor """
31
+ """Constructor"""
31
32
  self.pk = pk
32
33
  self.asset_id = asset_id
33
34
  self.position = position or Position()
@@ -1,5 +1,4 @@
1
- """ Position entity """
2
- from typing import Self
1
+ """Position entity"""
3
2
 
4
3
 
5
4
  class Position:
@@ -17,7 +16,7 @@ class Position:
17
16
  """
18
17
 
19
18
  def __init__(
20
- self: Self,
19
+ self,
21
20
  latitude: float = None,
22
21
  longitude: float = None,
23
22
  altitude: float = None,
@@ -26,7 +25,7 @@ class Position:
26
25
  direction: float = None,
27
26
  satellites: int = None,
28
27
  ) -> None:
29
- """ Constructor """
28
+ """Constructor"""
30
29
  self.latitude = latitude
31
30
  self.longitude = longitude
32
31
  self.altitude = altitude
@@ -36,15 +35,17 @@ class Position:
36
35
  self.satellites = satellites
37
36
 
38
37
  @property
39
- def _readable(self: Self) -> str | None | bool:
40
- """ Readable """
41
- return f'Position(latitude={self.latitude}, longitude={self.longitude}, altitude={self.altitude}, ' +\
42
- f'speed={self.speed}, direction={self.direction}, hdop={self.hdop}, satellites={self.satellites})'
38
+ def _readable(self) -> str | None | bool:
39
+ """Readable"""
40
+ return (
41
+ f'Position(latitude={self.latitude}, longitude={self.longitude}, altitude={self.altitude}, '
42
+ + f'speed={self.speed}, direction={self.direction}, hdop={self.hdop}, satellites={self.satellites})'
43
+ )
43
44
 
44
- def __str__(self: Self) -> str | None | bool:
45
- """ Readable property """
45
+ def __str__(self) -> str | None | bool:
46
+ """Readable property"""
46
47
  return self._readable
47
48
 
48
- def __repr__(self: Self) -> str | None | bool:
49
- """ Readable property """
49
+ def __repr__(self) -> str | None | bool:
50
+ """Readable property"""
50
51
  return self._readable