layrz-sdk 3.0.9__py3-none-any.whl → 3.0.11__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/entities/broadcasts/request.py +10 -9
- layrz_sdk/entities/broadcasts/response.py +10 -9
- layrz_sdk/entities/broadcasts/result.py +13 -11
- layrz_sdk/entities/broadcasts/service.py +8 -9
- layrz_sdk/entities/broadcasts/status.py +10 -9
- layrz_sdk/entities/cases/case.py +33 -30
- layrz_sdk/entities/cases/comment.py +10 -10
- layrz_sdk/entities/cases/trigger.py +9 -10
- layrz_sdk/entities/charts/alignment.py +9 -8
- layrz_sdk/entities/charts/bar.py +31 -45
- layrz_sdk/entities/charts/color.py +12 -10
- layrz_sdk/entities/charts/column.py +30 -49
- layrz_sdk/entities/charts/configuration.py +11 -12
- layrz_sdk/entities/charts/data_type.py +9 -8
- layrz_sdk/entities/charts/exceptions.py +11 -12
- layrz_sdk/entities/charts/html.py +6 -5
- layrz_sdk/entities/charts/line.py +52 -46
- layrz_sdk/entities/charts/map.py +23 -19
- layrz_sdk/entities/charts/number.py +6 -5
- layrz_sdk/entities/charts/pie.py +27 -34
- layrz_sdk/entities/charts/radar.py +14 -34
- layrz_sdk/entities/charts/radial_bar.py +27 -34
- layrz_sdk/entities/charts/render_technology.py +9 -8
- layrz_sdk/entities/charts/scatter.py +52 -53
- layrz_sdk/entities/charts/serie.py +4 -3
- layrz_sdk/entities/charts/serie_type.py +9 -8
- layrz_sdk/entities/charts/table.py +6 -6
- layrz_sdk/entities/charts/timeline.py +21 -32
- layrz_sdk/entities/checkpoints/checkpoint.py +15 -12
- layrz_sdk/entities/checkpoints/geofence.py +9 -10
- layrz_sdk/entities/checkpoints/waypoint.py +14 -12
- layrz_sdk/entities/events/event.py +15 -13
- layrz_sdk/entities/formatting/text_align.py +10 -9
- layrz_sdk/entities/general/asset.py +16 -13
- layrz_sdk/entities/general/asset_operation_mode.py +9 -8
- layrz_sdk/entities/general/custom_field.py +9 -10
- layrz_sdk/entities/general/device.py +13 -12
- layrz_sdk/entities/general/sensor.py +9 -10
- layrz_sdk/entities/general/user.py +9 -10
- layrz_sdk/entities/repcom/transaction.py +4 -4
- layrz_sdk/entities/reports/col.py +17 -15
- layrz_sdk/entities/reports/format.py +3 -4
- layrz_sdk/entities/reports/header.py +4 -5
- layrz_sdk/entities/reports/page.py +12 -11
- layrz_sdk/entities/reports/report.py +14 -14
- layrz_sdk/entities/reports/row.py +10 -10
- layrz_sdk/entities/telemetry/message.py +5 -4
- layrz_sdk/entities/telemetry/position.py +13 -12
- layrz_sdk/lcl/core.py +93 -65
- {layrz_sdk-3.0.9.dist-info → layrz_sdk-3.0.11.dist-info}/METADATA +2 -1
- layrz_sdk-3.0.11.dist-info/RECORD +69 -0
- {layrz_sdk-3.0.9.dist-info → layrz_sdk-3.0.11.dist-info}/WHEEL +1 -1
- layrz_sdk-3.0.9.dist-info/RECORD +0 -69
- {layrz_sdk-3.0.9.dist-info → layrz_sdk-3.0.11.dist-info}/LICENSE +0 -0
- {layrz_sdk-3.0.9.dist-info → layrz_sdk-3.0.11.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Timeline chart entities"""
|
|
2
|
+
|
|
2
3
|
from datetime import datetime
|
|
3
|
-
from typing import Any, List
|
|
4
|
+
from typing import Any, List
|
|
4
5
|
|
|
5
6
|
from .alignment import ChartAlignment
|
|
6
7
|
from .exceptions import ChartException
|
|
@@ -11,7 +12,7 @@ class TimelineSerieItem:
|
|
|
11
12
|
Chart Data Serie Item for Timeline Charts
|
|
12
13
|
"""
|
|
13
14
|
|
|
14
|
-
def __init__(self
|
|
15
|
+
def __init__(self, name: str, start_at: datetime, end_at: datetime, color: str) -> None:
|
|
15
16
|
"""
|
|
16
17
|
Constructor
|
|
17
18
|
----
|
|
@@ -43,7 +44,7 @@ class TimelineSerie:
|
|
|
43
44
|
Chart Data Serie for Timeline charts
|
|
44
45
|
"""
|
|
45
46
|
|
|
46
|
-
def __init__(self
|
|
47
|
+
def __init__(self, data: List[TimelineSerieItem], label: str) -> None:
|
|
47
48
|
"""
|
|
48
49
|
Constructor
|
|
49
50
|
----
|
|
@@ -67,7 +68,7 @@ class TimelineChart:
|
|
|
67
68
|
"""
|
|
68
69
|
|
|
69
70
|
def __init__(
|
|
70
|
-
self
|
|
71
|
+
self,
|
|
71
72
|
series: List[TimelineSerie],
|
|
72
73
|
title: str = 'Chart',
|
|
73
74
|
align: ChartAlignment = ChartAlignment.CENTER,
|
|
@@ -94,14 +95,14 @@ class TimelineChart:
|
|
|
94
95
|
raise ChartException('align must be an instance of ChartAlignment')
|
|
95
96
|
self.align = align
|
|
96
97
|
|
|
97
|
-
def render(self
|
|
98
|
+
def render(self) -> Any:
|
|
98
99
|
"""
|
|
99
100
|
Render chart to a Javascript Library.
|
|
100
101
|
Currently only available for ApexCharts.
|
|
101
102
|
"""
|
|
102
103
|
return {'library': 'APEXCHARTS', 'configuration': self._render_apexcharts()}
|
|
103
104
|
|
|
104
|
-
def _render_apexcharts(self
|
|
105
|
+
def _render_apexcharts(self) -> Any:
|
|
105
106
|
"""
|
|
106
107
|
Converts the configuration of the chart to Javascript library ApexCharts.
|
|
107
108
|
"""
|
|
@@ -112,11 +113,13 @@ class TimelineChart:
|
|
|
112
113
|
data = []
|
|
113
114
|
|
|
114
115
|
for item in serie.data:
|
|
115
|
-
data.append(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
116
|
+
data.append(
|
|
117
|
+
{
|
|
118
|
+
'x': item.name,
|
|
119
|
+
'y': [item.start_at.timestamp() * 1000, item.end_at.timestamp() * 1000],
|
|
120
|
+
'fillColor': item.color,
|
|
121
|
+
}
|
|
122
|
+
)
|
|
120
123
|
|
|
121
124
|
series.append({'name': serie.label, 'data': data})
|
|
122
125
|
|
|
@@ -125,35 +128,21 @@ class TimelineChart:
|
|
|
125
128
|
'title': {
|
|
126
129
|
'text': self.title,
|
|
127
130
|
'align': self.align.value,
|
|
128
|
-
'style': {
|
|
129
|
-
'fontFamily': 'Fira Sans Condensed',
|
|
130
|
-
'fontSize': '20px',
|
|
131
|
-
'fontWeight': 'normal'
|
|
132
|
-
}
|
|
131
|
+
'style': {'fontFamily': 'Fira Sans Condensed', 'fontSize': '20px', 'fontWeight': 'normal'},
|
|
133
132
|
},
|
|
134
133
|
'chart': {
|
|
135
134
|
'type': 'rangeBar',
|
|
136
|
-
'animations': {
|
|
137
|
-
|
|
138
|
-
},
|
|
139
|
-
'toolbar': {
|
|
140
|
-
'show': False
|
|
141
|
-
},
|
|
142
|
-
'zoom': {
|
|
143
|
-
'enabled': False
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
'xaxis': {
|
|
147
|
-
'type': 'datetime'
|
|
135
|
+
'animations': {'enabled': False},
|
|
136
|
+
'toolbar': {'show': False},
|
|
137
|
+
'zoom': {'enabled': False},
|
|
148
138
|
},
|
|
139
|
+
'xaxis': {'type': 'datetime'},
|
|
149
140
|
'plotOptions': {
|
|
150
141
|
'bar': {
|
|
151
142
|
'horizontal': True,
|
|
152
143
|
}
|
|
153
144
|
},
|
|
154
|
-
'dataLabels': {
|
|
155
|
-
'enabled': True
|
|
156
|
-
}
|
|
145
|
+
'dataLabels': {'enabled': True},
|
|
157
146
|
}
|
|
158
147
|
|
|
159
148
|
return config
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Checkpoints entitites"""
|
|
2
|
+
|
|
2
3
|
from datetime import datetime
|
|
3
|
-
from typing import List
|
|
4
|
+
from typing import List
|
|
4
5
|
|
|
5
6
|
from .waypoint import Waypoint
|
|
6
7
|
|
|
@@ -18,14 +19,14 @@ class Checkpoint:
|
|
|
18
19
|
"""
|
|
19
20
|
|
|
20
21
|
def __init__(
|
|
21
|
-
self
|
|
22
|
+
self,
|
|
22
23
|
pk: int,
|
|
23
24
|
asset_id: int,
|
|
24
25
|
waypoints: List[Waypoint],
|
|
25
26
|
start_at: datetime,
|
|
26
27
|
end_at: datetime,
|
|
27
28
|
) -> None:
|
|
28
|
-
"""
|
|
29
|
+
"""Constructor"""
|
|
29
30
|
self.pk = pk
|
|
30
31
|
self.asset_id = asset_id
|
|
31
32
|
self.waypoints = waypoints
|
|
@@ -33,15 +34,17 @@ class Checkpoint:
|
|
|
33
34
|
self.end_at = end_at
|
|
34
35
|
|
|
35
36
|
@property
|
|
36
|
-
def _readable(self
|
|
37
|
-
"""
|
|
38
|
-
return
|
|
39
|
-
|
|
37
|
+
def _readable(self) -> str | None | bool:
|
|
38
|
+
"""Readable"""
|
|
39
|
+
return (
|
|
40
|
+
f'Checkpoint(pk={self.pk}, asset_id={self.asset_id}, waypoints={self.waypoints}, '
|
|
41
|
+
+ f'start_at={self.start_at}, end_at={self.end_at})'
|
|
42
|
+
)
|
|
40
43
|
|
|
41
|
-
def __str__(self
|
|
42
|
-
"""
|
|
44
|
+
def __str__(self) -> str | None | bool:
|
|
45
|
+
"""Readable property"""
|
|
43
46
|
return self._readable
|
|
44
47
|
|
|
45
|
-
def __repr__(self
|
|
46
|
-
"""
|
|
48
|
+
def __repr__(self) -> str | None | bool:
|
|
49
|
+
"""Readable property"""
|
|
47
50
|
return self._readable
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"""
|
|
2
|
-
from typing import Self
|
|
1
|
+
"""Geofence entity"""
|
|
3
2
|
|
|
4
3
|
|
|
5
4
|
class Geofence:
|
|
@@ -12,21 +11,21 @@ class Geofence:
|
|
|
12
11
|
- color : Geofence color in Hex format
|
|
13
12
|
"""
|
|
14
13
|
|
|
15
|
-
def __init__(self
|
|
16
|
-
"""
|
|
14
|
+
def __init__(self, pk: int, name: str, color: str) -> None:
|
|
15
|
+
"""Constructor"""
|
|
17
16
|
self.pk = pk
|
|
18
17
|
self.name = name
|
|
19
18
|
self.color = color
|
|
20
19
|
|
|
21
20
|
@property
|
|
22
|
-
def _readable(self
|
|
23
|
-
"""
|
|
21
|
+
def _readable(self) -> str | None | bool:
|
|
22
|
+
"""Readable"""
|
|
24
23
|
return f'Geofence(pk={self.pk}, name={self.name}, color={self.color})'
|
|
25
24
|
|
|
26
|
-
def __str__(self
|
|
27
|
-
"""
|
|
25
|
+
def __str__(self) -> str | None | bool:
|
|
26
|
+
"""Readable property"""
|
|
28
27
|
return self._readable
|
|
29
28
|
|
|
30
|
-
def __repr__(self
|
|
31
|
-
"""
|
|
29
|
+
def __repr__(self) -> str | None | bool:
|
|
30
|
+
"""Readable property"""
|
|
32
31
|
return self._readable
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Waypoint entity"""
|
|
2
|
+
|
|
2
3
|
from datetime import datetime
|
|
3
|
-
from typing import Self
|
|
4
4
|
|
|
5
5
|
from .geofence import Geofence
|
|
6
6
|
|
|
@@ -19,7 +19,7 @@ class Waypoint:
|
|
|
19
19
|
"""
|
|
20
20
|
|
|
21
21
|
def __init__(
|
|
22
|
-
self
|
|
22
|
+
self,
|
|
23
23
|
pk: int,
|
|
24
24
|
geofence: Geofence,
|
|
25
25
|
start_at: datetime,
|
|
@@ -27,7 +27,7 @@ class Waypoint:
|
|
|
27
27
|
sequence_real: int,
|
|
28
28
|
sequence_ideal: int,
|
|
29
29
|
) -> None:
|
|
30
|
-
"""
|
|
30
|
+
"""Constructor"""
|
|
31
31
|
self.pk = pk
|
|
32
32
|
self.geofence = geofence
|
|
33
33
|
self.start_at = start_at
|
|
@@ -36,15 +36,17 @@ class Waypoint:
|
|
|
36
36
|
self.sequence_ideal = sequence_ideal
|
|
37
37
|
|
|
38
38
|
@property
|
|
39
|
-
def _readable(self
|
|
40
|
-
"""
|
|
41
|
-
return
|
|
42
|
-
|
|
39
|
+
def _readable(self) -> str | None | bool:
|
|
40
|
+
"""Readable"""
|
|
41
|
+
return (
|
|
42
|
+
f'Waypoint(pk={self.pk}, geofence={self.geofence}, start_at={self.start_at}, '
|
|
43
|
+
+ f'end_at={self.end_at}, sequence_real={self.sequence_real}, sequence_ideal={self.sequence_ideal})'
|
|
44
|
+
)
|
|
43
45
|
|
|
44
|
-
def __str__(self
|
|
45
|
-
"""
|
|
46
|
+
def __str__(self) -> str | None | bool:
|
|
47
|
+
"""Readable property"""
|
|
46
48
|
return self._readable
|
|
47
49
|
|
|
48
|
-
def __repr__(self
|
|
49
|
-
"""
|
|
50
|
+
def __repr__(self) -> str | None | bool:
|
|
51
|
+
"""Readable property"""
|
|
50
52
|
return self._readable
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Event entity"""
|
|
2
|
+
|
|
2
3
|
from datetime import datetime
|
|
3
|
-
from typing import Self
|
|
4
4
|
|
|
5
5
|
from layrz_sdk.entities.cases.trigger import Trigger
|
|
6
6
|
from layrz_sdk.entities.telemetry.message import Message
|
|
@@ -20,14 +20,14 @@ class Event:
|
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
def __init__(
|
|
23
|
-
self
|
|
23
|
+
self,
|
|
24
24
|
pk: int,
|
|
25
25
|
trigger: Trigger,
|
|
26
26
|
asset_id: int,
|
|
27
27
|
message: Message,
|
|
28
28
|
activated_at: datetime,
|
|
29
29
|
) -> None:
|
|
30
|
-
"""
|
|
30
|
+
"""Constructor"""
|
|
31
31
|
self.pk = pk
|
|
32
32
|
self.trigger = trigger
|
|
33
33
|
self.asset_id = asset_id
|
|
@@ -35,15 +35,17 @@ class Event:
|
|
|
35
35
|
self.activated_at = activated_at
|
|
36
36
|
|
|
37
37
|
@property
|
|
38
|
-
def _readable(self
|
|
39
|
-
"""
|
|
40
|
-
return
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
def _readable(self) -> str | None | bool:
|
|
39
|
+
"""Readable"""
|
|
40
|
+
return (
|
|
41
|
+
f'Event(pk={self.pk}, trigger={self.trigger}, asset_id={self.asset_id}, '
|
|
42
|
+
+ f'message={self.message}, activated_at={self.activated_at})'
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
def __str__(self) -> str | None | bool:
|
|
46
|
+
"""Readable property"""
|
|
45
47
|
return self._readable
|
|
46
48
|
|
|
47
|
-
def __repr__(self
|
|
48
|
-
"""
|
|
49
|
+
def __repr__(self) -> str | None | bool:
|
|
50
|
+
"""Readable property"""
|
|
49
51
|
return self._readable
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Text alignment"""
|
|
2
|
+
|
|
2
3
|
from enum import Enum
|
|
3
|
-
from typing import Self
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class TextAlignment(Enum):
|
|
7
|
-
"""
|
|
7
|
+
"""Text alignment enum definition"""
|
|
8
|
+
|
|
8
9
|
CENTER = 'center'
|
|
9
10
|
LEFT = 'left'
|
|
10
11
|
RIGHT = 'right'
|
|
11
12
|
JUSTIFY = 'justify'
|
|
12
13
|
|
|
13
14
|
@property
|
|
14
|
-
def _readable(self
|
|
15
|
-
"""
|
|
15
|
+
def _readable(self) -> str | None | bool:
|
|
16
|
+
"""Readable"""
|
|
16
17
|
return f'TextAlignment.{self.value}'
|
|
17
18
|
|
|
18
|
-
def __str__(self
|
|
19
|
-
"""
|
|
19
|
+
def __str__(self) -> str | None | bool:
|
|
20
|
+
"""Readable property"""
|
|
20
21
|
return self._readable
|
|
21
22
|
|
|
22
|
-
def __repr__(self
|
|
23
|
-
"""
|
|
23
|
+
def __repr__(self) -> str | None | bool:
|
|
24
|
+
"""Readable property"""
|
|
24
25
|
return self._readable
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
"""
|
|
2
|
-
|
|
1
|
+
"""Asset Entity"""
|
|
2
|
+
|
|
3
|
+
from typing import List
|
|
3
4
|
|
|
4
5
|
from .asset_operation_mode import AssetOperationMode
|
|
5
6
|
from .custom_field import CustomField
|
|
@@ -25,7 +26,7 @@ class Asset:
|
|
|
25
26
|
"""
|
|
26
27
|
|
|
27
28
|
def __init__(
|
|
28
|
-
self
|
|
29
|
+
self,
|
|
29
30
|
pk: int,
|
|
30
31
|
name: str,
|
|
31
32
|
vin: str,
|
|
@@ -37,7 +38,7 @@ class Asset:
|
|
|
37
38
|
devices: List[Device] = None,
|
|
38
39
|
children: List = None,
|
|
39
40
|
) -> None:
|
|
40
|
-
"""
|
|
41
|
+
"""Constructor"""
|
|
41
42
|
self.pk = pk
|
|
42
43
|
self.name = name
|
|
43
44
|
self.vin = vin
|
|
@@ -54,16 +55,18 @@ class Asset:
|
|
|
54
55
|
self.children = []
|
|
55
56
|
|
|
56
57
|
@property
|
|
57
|
-
def _readable(self
|
|
58
|
-
"""
|
|
59
|
-
return
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
def _readable(self) -> str | None | bool:
|
|
59
|
+
"""Readable"""
|
|
60
|
+
return (
|
|
61
|
+
f'Asset(pk={self.pk}, name={self.name}, vin={self.vin}, plate={self.plate}, '
|
|
62
|
+
+ f'asset_type={self.asset_type}, operation_mode={self.operation_mode}, '
|
|
63
|
+
+ f'custom_fields={self.custom_fields}, children={self.children}, sensors={self.sensors})'
|
|
64
|
+
)
|
|
62
65
|
|
|
63
|
-
def __str__(self
|
|
64
|
-
"""
|
|
66
|
+
def __str__(self) -> str | None | bool:
|
|
67
|
+
"""Readable property"""
|
|
65
68
|
return self._readable
|
|
66
69
|
|
|
67
|
-
def __repr__(self
|
|
68
|
-
"""
|
|
70
|
+
def __repr__(self) -> str | None | bool:
|
|
71
|
+
"""Readable property"""
|
|
69
72
|
return self._readable
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Asset Operation Mode"""
|
|
2
|
+
|
|
2
3
|
from enum import Enum
|
|
3
|
-
from typing import Self
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
class AssetOperationMode(Enum):
|
|
@@ -8,6 +8,7 @@ class AssetOperationMode(Enum):
|
|
|
8
8
|
Asset Operation mode definition
|
|
9
9
|
It's an enum of the operation mode of the asset.
|
|
10
10
|
"""
|
|
11
|
+
|
|
11
12
|
SINGLE = 'SINGLE'
|
|
12
13
|
MULTIPLE = 'MULTIPLE'
|
|
13
14
|
ASSETMULTIPLE = 'ASSETMULTIPLE'
|
|
@@ -16,14 +17,14 @@ class AssetOperationMode(Enum):
|
|
|
16
17
|
ZONE = 'ZONE'
|
|
17
18
|
|
|
18
19
|
@property
|
|
19
|
-
def _readable(self
|
|
20
|
-
"""
|
|
20
|
+
def _readable(self) -> str | None | bool:
|
|
21
|
+
"""Readable"""
|
|
21
22
|
return self.value
|
|
22
23
|
|
|
23
|
-
def __str__(self
|
|
24
|
-
"""
|
|
24
|
+
def __str__(self) -> str | None | bool:
|
|
25
|
+
"""Readable property"""
|
|
25
26
|
return self._readable
|
|
26
27
|
|
|
27
|
-
def __repr__(self
|
|
28
|
-
"""
|
|
28
|
+
def __repr__(self) -> str | None | bool:
|
|
29
|
+
"""Readable property"""
|
|
29
30
|
return self._readable
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"""
|
|
2
|
-
from typing import Self
|
|
1
|
+
"""Custom Field entitiy"""
|
|
3
2
|
|
|
4
3
|
|
|
5
4
|
class CustomField:
|
|
@@ -11,20 +10,20 @@ class CustomField:
|
|
|
11
10
|
- value : Value of the custom field
|
|
12
11
|
"""
|
|
13
12
|
|
|
14
|
-
def __init__(self
|
|
15
|
-
"""
|
|
13
|
+
def __init__(self, name: str, value: str) -> None:
|
|
14
|
+
"""Constructor"""
|
|
16
15
|
self.name = name
|
|
17
16
|
self.value = value
|
|
18
17
|
|
|
19
18
|
@property
|
|
20
|
-
def _readable(self
|
|
21
|
-
"""
|
|
19
|
+
def _readable(self) -> str | None | bool:
|
|
20
|
+
"""Readable"""
|
|
22
21
|
return f'CustomField(name={self.name}, value={self.value})'
|
|
23
22
|
|
|
24
|
-
def __str__(self
|
|
25
|
-
"""
|
|
23
|
+
def __str__(self) -> str | None | bool:
|
|
24
|
+
"""Readable property"""
|
|
26
25
|
return self._readable
|
|
27
26
|
|
|
28
|
-
def __repr__(self
|
|
29
|
-
"""
|
|
27
|
+
def __repr__(self) -> str | None | bool:
|
|
28
|
+
"""Readable property"""
|
|
30
29
|
return self._readable
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"""
|
|
2
|
-
from typing import Self
|
|
1
|
+
"""Device entitiy"""
|
|
3
2
|
|
|
4
3
|
|
|
5
4
|
class Device:
|
|
@@ -15,14 +14,14 @@ class Device:
|
|
|
15
14
|
"""
|
|
16
15
|
|
|
17
16
|
def __init__(
|
|
18
|
-
self
|
|
17
|
+
self,
|
|
19
18
|
pk: int,
|
|
20
19
|
name: str,
|
|
21
20
|
ident: str,
|
|
22
21
|
protocol: str,
|
|
23
22
|
is_primary: bool = False,
|
|
24
23
|
) -> None:
|
|
25
|
-
"""
|
|
24
|
+
"""Constructor"""
|
|
26
25
|
self.pk = pk
|
|
27
26
|
self.name = name
|
|
28
27
|
self.ident = ident
|
|
@@ -30,15 +29,17 @@ class Device:
|
|
|
30
29
|
self.is_primary = is_primary
|
|
31
30
|
|
|
32
31
|
@property
|
|
33
|
-
def _readable(self
|
|
34
|
-
"""
|
|
35
|
-
return
|
|
36
|
-
|
|
32
|
+
def _readable(self) -> str | None | bool:
|
|
33
|
+
"""Readable"""
|
|
34
|
+
return (
|
|
35
|
+
f'Device(pk={self.pk}, ident={self.ident}, name={self.name}, protocol={self.protocol}, '
|
|
36
|
+
+ f'is_primary={self.is_primary})'
|
|
37
|
+
)
|
|
37
38
|
|
|
38
|
-
def __str__(self
|
|
39
|
-
"""
|
|
39
|
+
def __str__(self) -> str | None | bool:
|
|
40
|
+
"""Readable property"""
|
|
40
41
|
return self._readable
|
|
41
42
|
|
|
42
|
-
def __repr__(self
|
|
43
|
-
"""
|
|
43
|
+
def __repr__(self) -> str | None | bool:
|
|
44
|
+
"""Readable property"""
|
|
44
45
|
return self._readable
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"""
|
|
2
|
-
from typing import Self
|
|
1
|
+
"""Sensor entity"""
|
|
3
2
|
|
|
4
3
|
|
|
5
4
|
class Sensor:
|
|
@@ -12,21 +11,21 @@ class Sensor:
|
|
|
12
11
|
slug : Slug of the sensor
|
|
13
12
|
"""
|
|
14
13
|
|
|
15
|
-
def __init__(self
|
|
16
|
-
"""
|
|
14
|
+
def __init__(self, pk: int, name: str, slug: str) -> None:
|
|
15
|
+
"""Constructor"""
|
|
17
16
|
self.pk = pk
|
|
18
17
|
self.name = name
|
|
19
18
|
self.slug = slug
|
|
20
19
|
|
|
21
20
|
@property
|
|
22
|
-
def _readable(self
|
|
23
|
-
"""
|
|
21
|
+
def _readable(self) -> str | None | bool:
|
|
22
|
+
"""Readable"""
|
|
24
23
|
return f'Sensor(pk={self.pk}, name={self.name}, slug={self.slug})'
|
|
25
24
|
|
|
26
|
-
def __str__(self
|
|
27
|
-
"""
|
|
25
|
+
def __str__(self) -> str | None | bool:
|
|
26
|
+
"""Readable property"""
|
|
28
27
|
return self._readable
|
|
29
28
|
|
|
30
|
-
def __repr__(self
|
|
31
|
-
"""
|
|
29
|
+
def __repr__(self) -> str | None | bool:
|
|
30
|
+
"""Readable property"""
|
|
32
31
|
return self._readable
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
"""
|
|
2
|
-
from typing import Self
|
|
1
|
+
"""User entity"""
|
|
3
2
|
|
|
4
3
|
|
|
5
4
|
class User:
|
|
@@ -11,20 +10,20 @@ class User:
|
|
|
11
10
|
name : User name
|
|
12
11
|
"""
|
|
13
12
|
|
|
14
|
-
def __init__(self
|
|
15
|
-
"""
|
|
13
|
+
def __init__(self, pk: int, name: str) -> None:
|
|
14
|
+
"""Constructor"""
|
|
16
15
|
self.pk = pk
|
|
17
16
|
self.name = name
|
|
18
17
|
|
|
19
18
|
@property
|
|
20
|
-
def _readable(self
|
|
21
|
-
"""
|
|
19
|
+
def _readable(self) -> str | None | bool:
|
|
20
|
+
"""Readable"""
|
|
22
21
|
return f'User(pk={self.pk}, name={self.name})'
|
|
23
22
|
|
|
24
|
-
def __str__(self
|
|
25
|
-
"""
|
|
23
|
+
def __str__(self) -> str | None | bool:
|
|
24
|
+
"""Readable property"""
|
|
26
25
|
return self._readable
|
|
27
26
|
|
|
28
|
-
def __repr__(self
|
|
29
|
-
"""
|
|
27
|
+
def __repr__(self) -> str | None | bool:
|
|
28
|
+
"""Readable property"""
|
|
30
29
|
return self._readable
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Transaction entity"""
|
|
2
|
+
|
|
2
3
|
from datetime import datetime, timedelta
|
|
3
|
-
from typing import Self
|
|
4
4
|
|
|
5
5
|
from layrz_sdk.entities.general.asset import Asset
|
|
6
6
|
|
|
@@ -25,7 +25,7 @@ class Transaction:
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
def __init__(
|
|
28
|
-
self
|
|
28
|
+
self,
|
|
29
29
|
pk: int,
|
|
30
30
|
asset: Asset,
|
|
31
31
|
amount: float,
|
|
@@ -39,7 +39,7 @@ class Transaction:
|
|
|
39
39
|
received_at: datetime,
|
|
40
40
|
is_wildcard: bool,
|
|
41
41
|
) -> None:
|
|
42
|
-
"""
|
|
42
|
+
"""Constructor"""
|
|
43
43
|
self.pk = pk
|
|
44
44
|
self.asset = asset
|
|
45
45
|
self.amount = amount
|