layrz-sdk 3.0.14__py3-none-any.whl → 3.1.0__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.
- layrz_sdk/__init__.py +1 -1
- layrz_sdk/constants.py +5 -0
- layrz_sdk/entities/__init__.py +129 -73
- layrz_sdk/entities/asset.py +71 -0
- layrz_sdk/entities/{general/asset_operation_mode.py → asset_operation_mode.py} +31 -30
- layrz_sdk/entities/broadcast_request.py +12 -0
- layrz_sdk/entities/broadcast_response.py +12 -0
- layrz_sdk/entities/broadcast_result.py +20 -0
- layrz_sdk/entities/{broadcasts/status.py → broadcast_status.py} +28 -27
- layrz_sdk/entities/case.py +47 -0
- layrz_sdk/entities/case_ignored_status.py +26 -0
- layrz_sdk/entities/case_status.py +23 -0
- layrz_sdk/entities/charts/axis_config.py +15 -0
- layrz_sdk/entities/charts/{bar.py → bar_chart.py} +171 -208
- layrz_sdk/entities/charts/chart_alignment.py +27 -0
- layrz_sdk/entities/charts/chart_color.py +44 -0
- layrz_sdk/entities/charts/chart_configuration.py +10 -0
- layrz_sdk/entities/charts/chart_data_serie.py +19 -0
- layrz_sdk/entities/charts/chart_data_serie_type.py +28 -0
- layrz_sdk/entities/charts/chart_data_type.py +27 -0
- layrz_sdk/entities/charts/{render_technology.py → chart_render_technology.py} +30 -29
- layrz_sdk/entities/charts/{column.py → column_chart.py} +197 -236
- layrz_sdk/entities/charts/html_chart.py +34 -0
- layrz_sdk/entities/charts/{line.py → line_chart.py} +244 -282
- layrz_sdk/entities/charts/map_center_type.py +22 -0
- layrz_sdk/entities/charts/map_chart.py +104 -0
- layrz_sdk/entities/charts/map_point.py +22 -0
- layrz_sdk/entities/charts/number_chart.py +50 -0
- layrz_sdk/entities/charts/{pie.py → pie_chart.py} +127 -148
- layrz_sdk/entities/charts/radar_chart.py +77 -0
- layrz_sdk/entities/charts/{radial_bar.py → radial_bar_chart.py} +127 -148
- layrz_sdk/entities/charts/{scatter.py → scatter_chart.py} +206 -290
- layrz_sdk/entities/charts/scatter_serie.py +15 -0
- layrz_sdk/entities/charts/scatter_serie_item.py +8 -0
- layrz_sdk/entities/charts/table_chart.py +50 -0
- layrz_sdk/entities/charts/table_header.py +8 -0
- layrz_sdk/entities/charts/table_row.py +9 -0
- layrz_sdk/entities/charts/timeline_chart.py +75 -0
- layrz_sdk/entities/charts/timeline_serie.py +12 -0
- layrz_sdk/entities/charts/timeline_serie_item.py +12 -0
- layrz_sdk/entities/checkpoint.py +18 -0
- layrz_sdk/entities/comment.py +16 -0
- layrz_sdk/entities/custom_field.py +10 -0
- layrz_sdk/entities/custom_report_page.py +16 -0
- layrz_sdk/entities/device.py +13 -0
- layrz_sdk/entities/event.py +23 -0
- layrz_sdk/entities/geofence.py +11 -0
- layrz_sdk/entities/last_message.py +12 -0
- layrz_sdk/entities/message.py +23 -0
- layrz_sdk/entities/outbound_service.py +10 -0
- layrz_sdk/entities/position.py +101 -0
- layrz_sdk/entities/presence_type.py +16 -0
- layrz_sdk/entities/{reports/report.py → report.py} +257 -286
- layrz_sdk/entities/report_col.py +40 -0
- layrz_sdk/entities/report_configuration.py +8 -0
- layrz_sdk/entities/report_data_type.py +28 -0
- layrz_sdk/entities/{reports/format.py → report_format.py} +27 -26
- layrz_sdk/entities/report_header.py +43 -0
- layrz_sdk/entities/report_page.py +17 -0
- layrz_sdk/entities/report_row.py +28 -0
- layrz_sdk/entities/sensor.py +11 -0
- layrz_sdk/entities/{formatting/text_align.py → text_alignment.py} +26 -25
- layrz_sdk/entities/trigger.py +11 -0
- layrz_sdk/entities/user.py +10 -0
- layrz_sdk/entities/waypoint.py +18 -0
- layrz_sdk/helpers/__init__.py +8 -2
- layrz_sdk/helpers/color.py +41 -45
- layrz_sdk/lcl/__init__.py +7 -2
- layrz_sdk/lcl/core.py +832 -820
- layrz_sdk/py.typed +0 -0
- {layrz_sdk-3.0.14.dist-info → layrz_sdk-3.1.0.dist-info}/LICENSE +6 -6
- {layrz_sdk-3.0.14.dist-info → layrz_sdk-3.1.0.dist-info}/METADATA +48 -45
- layrz_sdk-3.1.0.dist-info/RECORD +75 -0
- {layrz_sdk-3.0.14.dist-info → layrz_sdk-3.1.0.dist-info}/WHEEL +1 -1
- layrz_sdk/entities/broadcasts/__init__.py +0 -6
- layrz_sdk/entities/broadcasts/request.py +0 -30
- layrz_sdk/entities/broadcasts/response.py +0 -30
- layrz_sdk/entities/broadcasts/result.py +0 -53
- layrz_sdk/entities/broadcasts/service.py +0 -28
- layrz_sdk/entities/cases/__init__.py +0 -4
- layrz_sdk/entities/cases/case.py +0 -120
- layrz_sdk/entities/cases/comment.py +0 -37
- layrz_sdk/entities/cases/trigger.py +0 -31
- layrz_sdk/entities/charts/__init__.py +0 -21
- layrz_sdk/entities/charts/alignment.py +0 -26
- layrz_sdk/entities/charts/color.py +0 -38
- layrz_sdk/entities/charts/configuration.py +0 -54
- layrz_sdk/entities/charts/data_type.py +0 -26
- layrz_sdk/entities/charts/exceptions.py +0 -29
- layrz_sdk/entities/charts/html.py +0 -44
- layrz_sdk/entities/charts/map.py +0 -179
- layrz_sdk/entities/charts/number.py +0 -52
- layrz_sdk/entities/charts/radar.py +0 -102
- layrz_sdk/entities/charts/serie.py +0 -56
- layrz_sdk/entities/charts/serie_type.py +0 -27
- layrz_sdk/entities/charts/table.py +0 -74
- layrz_sdk/entities/charts/timeline.py +0 -148
- layrz_sdk/entities/checkpoints/__init__.py +0 -4
- layrz_sdk/entities/checkpoints/checkpoint.py +0 -50
- layrz_sdk/entities/checkpoints/waypoint.py +0 -52
- layrz_sdk/entities/events/__init__.py +0 -2
- layrz_sdk/entities/events/event.py +0 -58
- layrz_sdk/entities/formatting/__init__.py +0 -2
- layrz_sdk/entities/general/__init__.py +0 -9
- layrz_sdk/entities/general/asset.py +0 -72
- layrz_sdk/entities/general/custom_field.py +0 -29
- layrz_sdk/entities/general/device.py +0 -45
- layrz_sdk/entities/general/geofence.py +0 -53
- layrz_sdk/entities/general/sensor.py +0 -31
- layrz_sdk/entities/general/user.py +0 -29
- layrz_sdk/entities/repcom/__init__.py +0 -2
- layrz_sdk/entities/repcom/transaction.py +0 -54
- layrz_sdk/entities/reports/__init__.py +0 -7
- layrz_sdk/entities/reports/col.py +0 -86
- layrz_sdk/entities/reports/header.py +0 -57
- layrz_sdk/entities/reports/page.py +0 -64
- layrz_sdk/entities/reports/row.py +0 -43
- layrz_sdk/entities/telemetry/__init__.py +0 -5
- layrz_sdk/entities/telemetry/last_message.py +0 -41
- layrz_sdk/entities/telemetry/message.py +0 -37
- layrz_sdk/entities/telemetry/position.py +0 -51
- layrz_sdk-3.0.14.dist-info/RECORD +0 -70
- {layrz_sdk-3.0.14.dist-info → layrz_sdk-3.1.0.dist-info}/top_level.txt +0 -0
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"""Report col"""
|
|
2
|
-
|
|
3
|
-
import warnings
|
|
4
|
-
from enum import Enum
|
|
5
|
-
from typing import Any
|
|
6
|
-
|
|
7
|
-
from ..formatting.text_align import TextAlignment
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class ReportDataType(Enum):
|
|
11
|
-
"""
|
|
12
|
-
Report date type
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
STR = 'str'
|
|
16
|
-
INT = 'int'
|
|
17
|
-
FLOAT = 'float'
|
|
18
|
-
DATETIME = 'datetime'
|
|
19
|
-
BOOL = 'bool'
|
|
20
|
-
CURRENCY = 'currency'
|
|
21
|
-
|
|
22
|
-
@property
|
|
23
|
-
def _readable(self) -> str | None | bool:
|
|
24
|
-
"""Readable"""
|
|
25
|
-
return f'ReportDataType.{self.value}'
|
|
26
|
-
|
|
27
|
-
def __str__(self) -> str | None | bool:
|
|
28
|
-
"""Readable property"""
|
|
29
|
-
return self._readable
|
|
30
|
-
|
|
31
|
-
def __repr__(self) -> str | None | bool:
|
|
32
|
-
"""Readable property"""
|
|
33
|
-
return self._readable
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class ReportCol:
|
|
37
|
-
"""
|
|
38
|
-
Report col definition
|
|
39
|
-
---
|
|
40
|
-
Attributes
|
|
41
|
-
- content : Display content
|
|
42
|
-
- color : Cell color
|
|
43
|
-
- text_color : Text color
|
|
44
|
-
Deprecated, The text color now will use the luminance of the background color to determine the
|
|
45
|
-
text color
|
|
46
|
-
- align : Text Alignment
|
|
47
|
-
- data_type : Data type
|
|
48
|
-
- datetime_format : Date time format
|
|
49
|
-
- currency_symbol : Currency symbol
|
|
50
|
-
"""
|
|
51
|
-
|
|
52
|
-
def __init__(
|
|
53
|
-
self,
|
|
54
|
-
content: Any,
|
|
55
|
-
color: str = '#ffffff',
|
|
56
|
-
text_color: str = None,
|
|
57
|
-
align: TextAlignment = TextAlignment.LEFT,
|
|
58
|
-
data_type: ReportDataType = ReportDataType.STR,
|
|
59
|
-
datetime_format: str = '%Y-%m-%d %H:%M:%S',
|
|
60
|
-
currency_symbol: str = '',
|
|
61
|
-
bold: bool = False,
|
|
62
|
-
) -> None:
|
|
63
|
-
self.content = content
|
|
64
|
-
self.color = color
|
|
65
|
-
|
|
66
|
-
if text_color is not None:
|
|
67
|
-
warnings.warn('text_color is deprecated, use color instead', DeprecationWarning, stacklevel=2)
|
|
68
|
-
|
|
69
|
-
self.align = align
|
|
70
|
-
self.data_type = data_type
|
|
71
|
-
self.datetime_format = datetime_format
|
|
72
|
-
self.currency_symbol = currency_symbol
|
|
73
|
-
self.bold = bold
|
|
74
|
-
|
|
75
|
-
@property
|
|
76
|
-
def _readable(self) -> str | None | bool:
|
|
77
|
-
"""Readable property"""
|
|
78
|
-
return f'ReportCol(content={self.content})'
|
|
79
|
-
|
|
80
|
-
def __repr__(self) -> str | None | bool:
|
|
81
|
-
"""Readable property"""
|
|
82
|
-
return self._readable
|
|
83
|
-
|
|
84
|
-
def __str__(self) -> str | None | bool:
|
|
85
|
-
"""Readable property"""
|
|
86
|
-
return self._readable
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"""Report header"""
|
|
2
|
-
|
|
3
|
-
import warnings
|
|
4
|
-
|
|
5
|
-
from ..formatting.text_align import TextAlignment
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class ReportHeader:
|
|
9
|
-
"""
|
|
10
|
-
Report header definition
|
|
11
|
-
---
|
|
12
|
-
Attributes
|
|
13
|
-
- content : Display name
|
|
14
|
-
- width : Column width in points (pt)
|
|
15
|
-
Deprecated, now uses the `autofit()` method of `xlsxwriter`
|
|
16
|
-
- color : Cell color
|
|
17
|
-
- text_color : Text color
|
|
18
|
-
Deprecated, The text color now will use the luminance of the background color to determine the
|
|
19
|
-
text color
|
|
20
|
-
- align : Text Alignment
|
|
21
|
-
- bold : Should the text be bold
|
|
22
|
-
"""
|
|
23
|
-
|
|
24
|
-
def __init__(
|
|
25
|
-
self,
|
|
26
|
-
content: str,
|
|
27
|
-
width: int = None,
|
|
28
|
-
color: str = '#ffffff',
|
|
29
|
-
text_color: str = None,
|
|
30
|
-
align: TextAlignment = TextAlignment.CENTER,
|
|
31
|
-
bold: bool = False,
|
|
32
|
-
) -> None:
|
|
33
|
-
self.content = content
|
|
34
|
-
|
|
35
|
-
if width is not None:
|
|
36
|
-
warnings.warn('width is deprecated, use width instead', DeprecationWarning, stacklevel=2)
|
|
37
|
-
|
|
38
|
-
self.color = color
|
|
39
|
-
|
|
40
|
-
if text_color is not None:
|
|
41
|
-
warnings.warn('text_color is deprecated, use color instead', DeprecationWarning, stacklevel=2)
|
|
42
|
-
|
|
43
|
-
self.align = align
|
|
44
|
-
self.bold = bold
|
|
45
|
-
|
|
46
|
-
@property
|
|
47
|
-
def _readable(self) -> str | None | bool:
|
|
48
|
-
"""Readable property"""
|
|
49
|
-
return f'ReportHeader(content={self.content})'
|
|
50
|
-
|
|
51
|
-
def __str__(self) -> str | None | bool:
|
|
52
|
-
"""Readable property"""
|
|
53
|
-
return self._readable
|
|
54
|
-
|
|
55
|
-
def __repr__(self) -> str | None | bool:
|
|
56
|
-
"""Readable property"""
|
|
57
|
-
return self._readable
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"""Report page"""
|
|
2
|
-
|
|
3
|
-
from typing import List
|
|
4
|
-
|
|
5
|
-
from .header import ReportHeader
|
|
6
|
-
from .row import ReportRow
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class ReportPage:
|
|
10
|
-
"""
|
|
11
|
-
Report page definition
|
|
12
|
-
---
|
|
13
|
-
Attributes
|
|
14
|
-
- name : Name of the page. Length should be less than 60 characters
|
|
15
|
-
- headers : Headers of the page
|
|
16
|
-
- rows : Rows of the page
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
def __init__(
|
|
20
|
-
self,
|
|
21
|
-
name: str,
|
|
22
|
-
headers: List[ReportHeader],
|
|
23
|
-
rows: List[ReportRow],
|
|
24
|
-
freeze_header: bool = False,
|
|
25
|
-
) -> None:
|
|
26
|
-
self.name = name
|
|
27
|
-
self.headers = headers
|
|
28
|
-
self.rows = rows
|
|
29
|
-
self.freeze_header = freeze_header
|
|
30
|
-
|
|
31
|
-
@property
|
|
32
|
-
def _readable(self) -> str | None | bool:
|
|
33
|
-
"""Readable property"""
|
|
34
|
-
return f'ReportPage(name={self.name}, headers={self.headers}, rows={self.rows})'
|
|
35
|
-
|
|
36
|
-
def __str__(self) -> str | None | bool:
|
|
37
|
-
"""Readable property"""
|
|
38
|
-
return self._readable
|
|
39
|
-
|
|
40
|
-
def __repr__(self) -> str | None | bool:
|
|
41
|
-
"""Readable property"""
|
|
42
|
-
return self._readable
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
class CustomReportPage:
|
|
46
|
-
"""
|
|
47
|
-
Custom report page
|
|
48
|
-
Basically it's a wrapper of the `xlswriter` worksheet that uses a function to construct the page
|
|
49
|
-
---
|
|
50
|
-
Attributes:
|
|
51
|
-
- name : Name of the page. Length should be less than 60 characters
|
|
52
|
-
Methods:
|
|
53
|
-
- builder(Worksheet) -> None : Function to build the page
|
|
54
|
-
The builder receives a `Worksheet` object as an argument and shouldn't
|
|
55
|
-
return anything.
|
|
56
|
-
"""
|
|
57
|
-
|
|
58
|
-
def __init__(self, name: str, builder: callable) -> None:
|
|
59
|
-
"""Constructor"""
|
|
60
|
-
self.name = name
|
|
61
|
-
|
|
62
|
-
if not callable(builder):
|
|
63
|
-
raise ValueError('builder should be a callable')
|
|
64
|
-
self.builder = builder
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"""Report row"""
|
|
2
|
-
|
|
3
|
-
from typing import List
|
|
4
|
-
|
|
5
|
-
from .col import ReportCol
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class ReportRow:
|
|
9
|
-
"""
|
|
10
|
-
Report row definition
|
|
11
|
-
|
|
12
|
-
Available attributes
|
|
13
|
-
--------------------
|
|
14
|
-
content (list(ReportCol)): Cols to display
|
|
15
|
-
height (float): Height of the cell, in points (pt)
|
|
16
|
-
compact (bool): Compact mode
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
def __init__(
|
|
20
|
-
self,
|
|
21
|
-
content: List[ReportCol],
|
|
22
|
-
height: float = None,
|
|
23
|
-
compact: bool = False,
|
|
24
|
-
) -> None:
|
|
25
|
-
"""Constructor"""
|
|
26
|
-
self.content = content
|
|
27
|
-
self.compact = compact
|
|
28
|
-
|
|
29
|
-
if height is not None:
|
|
30
|
-
raise DeprecationWarning('height is deprecated.')
|
|
31
|
-
|
|
32
|
-
@property
|
|
33
|
-
def _readable(self) -> str | None | bool:
|
|
34
|
-
"""Readable property"""
|
|
35
|
-
return f'ReportRow(content={self.content})'
|
|
36
|
-
|
|
37
|
-
def __str__(self) -> str | None | bool:
|
|
38
|
-
"""Readable property"""
|
|
39
|
-
return self._readable
|
|
40
|
-
|
|
41
|
-
def __repr__(self) -> str | None | bool:
|
|
42
|
-
"""Readable property"""
|
|
43
|
-
return self._readable
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"""Message entity"""
|
|
2
|
-
|
|
3
|
-
from datetime import datetime
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
from layrz_sdk.entities.general.asset import Asset
|
|
7
|
-
|
|
8
|
-
from .message import Message
|
|
9
|
-
from .position import Position
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class LastMessage(Message):
|
|
13
|
-
"""
|
|
14
|
-
Message definition
|
|
15
|
-
---
|
|
16
|
-
Attributes
|
|
17
|
-
- pk : Message ID
|
|
18
|
-
- asset_id : Asset ID
|
|
19
|
-
- position : Geographic position
|
|
20
|
-
- payload : Message raw payload
|
|
21
|
-
- sensors : Calculated sensor values
|
|
22
|
-
- received_at : Message reception date and time
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
def __init__(
|
|
26
|
-
self,
|
|
27
|
-
pk: int,
|
|
28
|
-
asset_id: int,
|
|
29
|
-
asset: Asset,
|
|
30
|
-
position: Position = None,
|
|
31
|
-
payload: Any = None,
|
|
32
|
-
sensors: Any = None,
|
|
33
|
-
received_at: datetime = None,
|
|
34
|
-
) -> None:
|
|
35
|
-
"""Constructor"""
|
|
36
|
-
super().__init__(pk, asset_id, position, payload, sensors, received_at)
|
|
37
|
-
self.asset = asset
|
|
38
|
-
|
|
39
|
-
def __str__(self) -> str:
|
|
40
|
-
"""String representation"""
|
|
41
|
-
return f'LastMessage(pk: {self.pk}, asset_id: {self.asset_id}, received_at: {self.received_at})'
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"""Message entity"""
|
|
2
|
-
|
|
3
|
-
from datetime import datetime, timezone
|
|
4
|
-
from typing import Any
|
|
5
|
-
|
|
6
|
-
from .position import Position
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class Message:
|
|
10
|
-
"""
|
|
11
|
-
Message definition
|
|
12
|
-
---
|
|
13
|
-
Attributes
|
|
14
|
-
- pk : Message ID
|
|
15
|
-
- asset_id : Asset ID
|
|
16
|
-
- position : Geographic position
|
|
17
|
-
- payload : Message raw payload
|
|
18
|
-
- sensors : Calculated sensor values
|
|
19
|
-
- received_at : Message reception date and time
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
def __init__(
|
|
23
|
-
self,
|
|
24
|
-
pk: int,
|
|
25
|
-
asset_id: int,
|
|
26
|
-
position: Position = None,
|
|
27
|
-
payload: Any = None,
|
|
28
|
-
sensors: Any = None,
|
|
29
|
-
received_at: datetime = None,
|
|
30
|
-
) -> None:
|
|
31
|
-
"""Constructor"""
|
|
32
|
-
self.pk = pk
|
|
33
|
-
self.asset_id = asset_id
|
|
34
|
-
self.position = position or Position()
|
|
35
|
-
self.payload = payload or {}
|
|
36
|
-
self.sensors = sensors or {}
|
|
37
|
-
self.received_at = received_at or datetime.now(timezone.utc)
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"""Position entity"""
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class Position:
|
|
5
|
-
"""
|
|
6
|
-
Geographic position definition
|
|
7
|
-
---
|
|
8
|
-
Attributes
|
|
9
|
-
- latitude : Latitude (in decimal degrees)
|
|
10
|
-
- longitude : Longitude (in decimal degrees)
|
|
11
|
-
- altitude : Altitude (in meters)
|
|
12
|
-
- hdop : Horizontal dilution of precision
|
|
13
|
-
- speed : Speed (in Kilometers per hour)
|
|
14
|
-
- direction : Direction or heading (in degrees)
|
|
15
|
-
- satellites : Number of satellites
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
|
-
def __init__(
|
|
19
|
-
self,
|
|
20
|
-
latitude: float = None,
|
|
21
|
-
longitude: float = None,
|
|
22
|
-
altitude: float = None,
|
|
23
|
-
hdop: float = None,
|
|
24
|
-
speed: float = None,
|
|
25
|
-
direction: float = None,
|
|
26
|
-
satellites: int = None,
|
|
27
|
-
) -> None:
|
|
28
|
-
"""Constructor"""
|
|
29
|
-
self.latitude = latitude
|
|
30
|
-
self.longitude = longitude
|
|
31
|
-
self.altitude = altitude
|
|
32
|
-
self.hdop = hdop
|
|
33
|
-
self.speed = speed
|
|
34
|
-
self.direction = direction
|
|
35
|
-
self.satellites = satellites
|
|
36
|
-
|
|
37
|
-
@property
|
|
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
|
-
)
|
|
44
|
-
|
|
45
|
-
def __str__(self) -> str | None | bool:
|
|
46
|
-
"""Readable property"""
|
|
47
|
-
return self._readable
|
|
48
|
-
|
|
49
|
-
def __repr__(self) -> str | None | bool:
|
|
50
|
-
"""Readable property"""
|
|
51
|
-
return self._readable
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
layrz_sdk/__init__.py,sha256=OutylN0QazaeDVIA5NRDVyzwfYnZkAwVQzT-2F6iX2M,28
|
|
2
|
-
layrz_sdk/entities/__init__.py,sha256=JMxjs369umvVD1amJUfkYnWfI-mbmTD6mOBf3W7PuKA,1401
|
|
3
|
-
layrz_sdk/entities/broadcasts/__init__.py,sha256=E-Mmr-UjpD5Jxkut4UX7XMqi6IUEYxb_5NP3xyDM_cg,215
|
|
4
|
-
layrz_sdk/entities/broadcasts/request.py,sha256=7r6-68ies6l5F0lVVpYg2aI2uTtn9UkK5yND3rrutLs,631
|
|
5
|
-
layrz_sdk/entities/broadcasts/response.py,sha256=_LDggLwSGsuG0EAAwQqSIMmNu_WA3eL7S77-_HFHeRA,664
|
|
6
|
-
layrz_sdk/entities/broadcasts/result.py,sha256=BQR6IY0H6ysyTUbvlUSmGVcVGxpJ1zRE9TBpvNvocbg,1347
|
|
7
|
-
layrz_sdk/entities/broadcasts/service.py,sha256=tvsr0fbPO4a4Pm_dCEQuB-xPUkseNTUEr1qOjKFVWVI,590
|
|
8
|
-
layrz_sdk/entities/broadcasts/status.py,sha256=Xc96vsF5GLkax68-dh-hFvCsOimCBLlPJT3K90fDP1I,603
|
|
9
|
-
layrz_sdk/entities/cases/__init__.py,sha256=_8cP3iegIclIkc1yUbdd9w4Da1xMragxV0aVoWjvC6s,135
|
|
10
|
-
layrz_sdk/entities/cases/case.py,sha256=0JZw1WZkeqiwEN6QMp8s36MJUix0JA6uf6zdtiJ1ZeA,2908
|
|
11
|
-
layrz_sdk/entities/cases/comment.py,sha256=BfTYfXayzOft5CtSlhZcWX45mTUFHHtXDfymN-hysYY,935
|
|
12
|
-
layrz_sdk/entities/cases/trigger.py,sha256=hY5Ao1gWn4syb7OcC25dSX7hETY5C3sytNLpbSCRShM,661
|
|
13
|
-
layrz_sdk/entities/charts/__init__.py,sha256=zDg_ZlMnOlhNPoNDYT4Z_5CqUYipJtGbPYtGHQLcZlo,864
|
|
14
|
-
layrz_sdk/entities/charts/alignment.py,sha256=_hbTslyVqCxEKM0yoT1893IJozScOYZSzfxcAkKJv_k,473
|
|
15
|
-
layrz_sdk/entities/charts/bar.py,sha256=o2uiwnnHagRexjUDNOYcx6RF4tyOwzKRj806Px6B-GA,6101
|
|
16
|
-
layrz_sdk/entities/charts/color.py,sha256=6P6dygdGSO2BsUtbUo1hII1bwsHiLTx4NPAHeGUe7XM,783
|
|
17
|
-
layrz_sdk/entities/charts/column.py,sha256=lyZOgljuOUjF6HmiU1_b3yGkwO7hrnAMe7WTM9HkKJ4,7093
|
|
18
|
-
layrz_sdk/entities/charts/configuration.py,sha256=-fzgK5Oz4WixidNC7-_YReISlORjDZT-xJccvbh91aM,1200
|
|
19
|
-
layrz_sdk/entities/charts/data_type.py,sha256=zK5ofVZETRTWUye4cce7rDJbBz68bsSRB2lU_2MuLhU,481
|
|
20
|
-
layrz_sdk/entities/charts/exceptions.py,sha256=B5wMFlC9iJVEmDsR9ycjC7p-ru-Bne6xHUeuXUTKat0,602
|
|
21
|
-
layrz_sdk/entities/charts/html.py,sha256=jrOCVrbQssIa195sBgXv06Ol0xrHaT9qHjSQVnyRWu4,1060
|
|
22
|
-
layrz_sdk/entities/charts/line.py,sha256=8e8uvsJxlxoVQ5YEviAbkLryWonhBTIP4TW_lPv2CuU,8324
|
|
23
|
-
layrz_sdk/entities/charts/map.py,sha256=eDuTH1b17T7g_GIzCmoPOGOriIwpTmU3cmEEPWRCRLM,4451
|
|
24
|
-
layrz_sdk/entities/charts/number.py,sha256=cr-PZ-zuG6QLdfNAB5kBFxKRWZqHIXBOYbbWUtqP5wU,1133
|
|
25
|
-
layrz_sdk/entities/charts/pie.py,sha256=ZaawevXsQrAKQAee-36lhouhVw0wGX5GNulc_AiCtvE,3827
|
|
26
|
-
layrz_sdk/entities/charts/radar.py,sha256=mlydkHRtruARh3DvHo6nQVsFm8szkCroiepZZPfjwrc,2977
|
|
27
|
-
layrz_sdk/entities/charts/radial_bar.py,sha256=DjwlvMuwGYAqIoAHIEqS-0ZBW7W4hZgxlR862YPqBw4,3871
|
|
28
|
-
layrz_sdk/entities/charts/render_technology.py,sha256=Uef14Ue0mnOA4l-2DaIn78D6Kfz2T7O07kX_cFwmEVQ,642
|
|
29
|
-
layrz_sdk/entities/charts/scatter.py,sha256=4egcj6BYM3B0qJ7Zc7z7ThqIYV5k0nZ_1V2xiomhDCg,7608
|
|
30
|
-
layrz_sdk/entities/charts/serie.py,sha256=xAEegIPBqg4opfZxpwVfPbNQNhgatjs6tAn-mvmTp_w,1519
|
|
31
|
-
layrz_sdk/entities/charts/serie_type.py,sha256=P7FnH7vugn8IxOIqPk86POr0DNnWb9YLNROVxwNby3E,499
|
|
32
|
-
layrz_sdk/entities/charts/table.py,sha256=G-MQu9UBDZGnG_AvcOqY-MOXgrQ87E4myUgRHX6g3rE,1631
|
|
33
|
-
layrz_sdk/entities/charts/timeline.py,sha256=Udyv7Fe9_5MYinazRRpIKxzWl0q9Gw5I4XghXrTEqpM,3911
|
|
34
|
-
layrz_sdk/entities/checkpoints/__init__.py,sha256=LcSyaEJBaaGwvovNZ4ti_YGV2LoU3L7P2zUD7lBW5Cs,94
|
|
35
|
-
layrz_sdk/entities/checkpoints/checkpoint.py,sha256=WtrwLZQy8Rf4czhDnpc1KsVNrL0tG8zQDYwEoFdcShk,1105
|
|
36
|
-
layrz_sdk/entities/checkpoints/waypoint.py,sha256=P7bK_xqGsUb2-pSD4WvN7bjXoee2Xi0y4yIOeZeo1A4,1303
|
|
37
|
-
layrz_sdk/entities/events/__init__.py,sha256=6W9HsNBCOvVDJl9_1cnX_YlsZRHaZbNBtnYTmST5-WU,49
|
|
38
|
-
layrz_sdk/entities/events/event.py,sha256=_EfXT6pk6LozwU8IJY3eO6-aDNShUnMRej8s1Tc12Po,1536
|
|
39
|
-
layrz_sdk/entities/formatting/__init__.py,sha256=cv-_epSLW_9RmUhs18caMo7XhvU12q-JvWPooYUNpJE,66
|
|
40
|
-
layrz_sdk/entities/formatting/text_align.py,sha256=1kT8PE1WUjKhilgsQPU5XS5sSt76onWwfNNeKPvPv9E,501
|
|
41
|
-
layrz_sdk/entities/general/__init__.py,sha256=sSOiwoNQpmERpQi0d1AdXm1WYr9MVfFU5s-gCHag-s0,262
|
|
42
|
-
layrz_sdk/entities/general/asset.py,sha256=wcqI-ogJEdhIrtDMavNgOTF3kep2Ipw7H95zFfq3lbw,1949
|
|
43
|
-
layrz_sdk/entities/general/asset_operation_mode.py,sha256=LOAReg3qpx_xOGgBOZpHSZCrYxX9ssSUeWGib0n-97g,621
|
|
44
|
-
layrz_sdk/entities/general/custom_field.py,sha256=6Bk9IWOzxcmo1kCTu3_0eg16cDyqZ0a_gAVCBtdxjjs,638
|
|
45
|
-
layrz_sdk/entities/general/device.py,sha256=b15Oczfx7zXvR4T88Fh4EmUAB2WrYXgABmFBBsAE2tc,1013
|
|
46
|
-
layrz_sdk/entities/general/geofence.py,sha256=Ep6Rkjzk-L2VD-wrxF-0GvuWMGQl5ooD1A2QGFuI8zE,1115
|
|
47
|
-
layrz_sdk/entities/general/sensor.py,sha256=N9smg5FmRQYuF1oGUxw9diJ4vVbFRg89v1h67Rk9RQM,647
|
|
48
|
-
layrz_sdk/entities/general/user.py,sha256=cE-oasv3yObNdCAvb6w1Yoo-0U3_lhE6s12t4FY5Mwg,559
|
|
49
|
-
layrz_sdk/entities/repcom/__init__.py,sha256=vXRvt0pzBIMeEGXNj8SEzejzMJg4t9uAakMMumKpg4U,61
|
|
50
|
-
layrz_sdk/entities/repcom/transaction.py,sha256=WKKqaDqBU-4ZNRXNZjnenh3E5hdlNAqwyLO1ujQsbMw,1466
|
|
51
|
-
layrz_sdk/entities/reports/__init__.py,sha256=KP9sBh3El1S9Pg14-ZLy36jSOTN_pa1VUFDNrPPwv0I,249
|
|
52
|
-
layrz_sdk/entities/reports/col.py,sha256=BLSCcTOLcdEdiTmc1tJHbvaEogGcVVz_tFWKAaRzngs,2047
|
|
53
|
-
layrz_sdk/entities/reports/format.py,sha256=T51KGQ0hKtqZOf5h2PeFfaqBOPxnRWz3AwVoMPohyNc,450
|
|
54
|
-
layrz_sdk/entities/reports/header.py,sha256=taQEl1gDF8hlaUHZRiwcZFRTDN9p1uZ5ePAFLZ41j8E,1471
|
|
55
|
-
layrz_sdk/entities/reports/page.py,sha256=4QPKTkEb_GTmTYD7XzSGOGsFdCZsvKVJqeYJvuq4n_0,1631
|
|
56
|
-
layrz_sdk/entities/reports/report.py,sha256=OynzeCEgLdsR5IcstpQnZSldIulN1LA5LBeKcipXKcY,8424
|
|
57
|
-
layrz_sdk/entities/reports/row.py,sha256=nGPLcBbLo_-owK43LsLNiitpOPUcfjzCFFe4mFTS_lg,918
|
|
58
|
-
layrz_sdk/entities/telemetry/__init__.py,sha256=UIqBjZFkRDjFxuwlgGgAiG2l9BNf3uTesUAeO4XF-dQ,124
|
|
59
|
-
layrz_sdk/entities/telemetry/last_message.py,sha256=2vmJK1UJrnZbNtHa1BQNquwVV_g4FokcdRkiiGmISyw,972
|
|
60
|
-
layrz_sdk/entities/telemetry/message.py,sha256=x0uAkbkQtvutAj8UHtjRgsFTcOrosZUHr4d4AHBN0Iw,829
|
|
61
|
-
layrz_sdk/entities/telemetry/position.py,sha256=sg7k6Etyu1ZtuFQfmfZq00_7WxRMmLgtcdPvdoXsbXU,1367
|
|
62
|
-
layrz_sdk/helpers/__init__.py,sha256=v3WbYVr9ygyDtxEIi59kGVXuirNswhhkG4BQv5iESRo,72
|
|
63
|
-
layrz_sdk/helpers/color.py,sha256=gfMuO627E7zdLXcK0WAgEwzmQOMrIdLFFv3ktI-UYbE,1129
|
|
64
|
-
layrz_sdk/lcl/__init__.py,sha256=nmfOnbot49pvfR8xyqvs0tg7ZwzxunhWJbwA805w20M,67
|
|
65
|
-
layrz_sdk/lcl/core.py,sha256=YdSFJC9sMQ09z3OONR-1fEhhGwRs1o6yHSvcwP9hI08,23287
|
|
66
|
-
layrz_sdk-3.0.14.dist-info/LICENSE,sha256=d5ZrU--lIPER7QByXDKcrtOTOMk1JvN_9FdYDuoWi7Y,1057
|
|
67
|
-
layrz_sdk-3.0.14.dist-info/METADATA,sha256=jYSbytQv0D4wQg8-ag2D01HP2b0BVAULkosfyTO7XUM,1700
|
|
68
|
-
layrz_sdk-3.0.14.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
69
|
-
layrz_sdk-3.0.14.dist-info/top_level.txt,sha256=yUTMMzfdZ0HDWQH5TaSlFM4xtwmP1fSGxmlL1dmu4l4,10
|
|
70
|
-
layrz_sdk-3.0.14.dist-info/RECORD,,
|
|
File without changes
|