layrz-sdk 3.0.7__tar.gz → 3.0.8__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 layrz-sdk might be problematic. Click here for more details.
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/PKG-INFO +6 -1
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/README.md +5 -0
- layrz_sdk-3.0.8/layrz_sdk/entities/__init__.py +72 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/broadcasts/request.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/broadcasts/response.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/broadcasts/result.py +6 -5
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/broadcasts/service.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/broadcasts/status.py +4 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/cases/case.py +13 -12
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/cases/comment.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/cases/trigger.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/__init__.py +1 -1
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/alignment.py +4 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/bar.py +9 -7
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/color.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/column.py +9 -7
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/configuration.py +9 -7
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/data_type.py +4 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/exceptions.py +6 -5
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/html.py +5 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/line.py +9 -8
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/map.py +13 -13
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/number.py +5 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/pie.py +9 -7
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/radar.py +6 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/radial_bar.py +9 -7
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/render_technology.py +4 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/scatter.py +12 -10
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/serie.py +5 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/serie_type.py +4 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/table.py +15 -17
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/charts/timeline.py +7 -6
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/checkpoints/checkpoint.py +6 -5
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/checkpoints/geofence.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/checkpoints/waypoint.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/events/event.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/formatting/text_align.py +4 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/general/asset.py +11 -9
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/general/asset_operation_mode.py +4 -3
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/general/custom_field.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/general/device.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/general/sensor.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/general/user.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/repcom/transaction.py +3 -2
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/reports/col.py +9 -9
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/reports/format.py +11 -7
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/reports/header.py +12 -10
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/reports/page.py +10 -8
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/reports/report.py +126 -66
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/reports/row.py +7 -5
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/telemetry/message.py +6 -5
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/telemetry/position.py +5 -4
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/helpers/color.py +6 -5
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/lcl/core.py +131 -120
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk.egg-info/PKG-INFO +6 -1
- layrz_sdk-3.0.8/pyproject.toml +81 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/tests/test_lcl.py +53 -52
- layrz_sdk-3.0.7/layrz_sdk/entities/__init__.py +0 -26
- layrz_sdk-3.0.7/pyproject.toml +0 -246
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/LICENSE +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/broadcasts/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/cases/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/checkpoints/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/events/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/formatting/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/general/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/repcom/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/reports/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/entities/telemetry/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/helpers/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk/lcl/__init__.py +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk.egg-info/SOURCES.txt +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk.egg-info/dependency_links.txt +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk.egg-info/requires.txt +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/layrz_sdk.egg-info/top_level.txt +0 -0
- {layrz_sdk-3.0.7 → layrz_sdk-3.0.8}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: layrz-sdk
|
|
3
|
-
Version: 3.0.
|
|
3
|
+
Version: 3.0.8
|
|
4
4
|
Summary: Layrz SDK for Python
|
|
5
5
|
Author-email: "Golden M, Inc." <software@goldenm.com>
|
|
6
6
|
Maintainer-email: Kenny Mochizuki <kenny@goldenm.com>, Luis Reyes <lreyes@goldenm.com>, Kasen Li <kli@goldenm.com>
|
|
@@ -26,6 +26,11 @@ Managed by Golden M, Inc.
|
|
|
26
26
|
It's a group of tools/classes/SDKs that can be help you to implement scripts into Layrz modules, or
|
|
27
27
|
incorporate them into your own projects.
|
|
28
28
|
|
|
29
|
+
## Requirements
|
|
30
|
+
This library uses at least Python 3.10 or higher to work.
|
|
31
|
+
|
|
32
|
+
If you want to encrypt MS Excel files, you need to have the [`msoffice`](https://github.com/herumi/msoffice) utility installed in your system.
|
|
33
|
+
|
|
29
34
|
## Documentation
|
|
30
35
|
It's available in our documentation site [developers.layrz.com](https://developers.layrz.com/Kits/Sdk)
|
|
31
36
|
|
|
@@ -6,6 +6,11 @@ Managed by Golden M, Inc.
|
|
|
6
6
|
It's a group of tools/classes/SDKs that can be help you to implement scripts into Layrz modules, or
|
|
7
7
|
incorporate them into your own projects.
|
|
8
8
|
|
|
9
|
+
## Requirements
|
|
10
|
+
This library uses at least Python 3.10 or higher to work.
|
|
11
|
+
|
|
12
|
+
If you want to encrypt MS Excel files, you need to have the [`msoffice`](https://github.com/herumi/msoffice) utility installed in your system.
|
|
13
|
+
|
|
9
14
|
## Documentation
|
|
10
15
|
It's available in our documentation site [developers.layrz.com](https://developers.layrz.com/Kits/Sdk)
|
|
11
16
|
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
""" Init file """
|
|
2
|
+
# Broadcast entities
|
|
3
|
+
from .broadcasts import BroadcastRequest, BroadcastResponse, BroadcastResult, BroadcastStatus, OutboundService
|
|
4
|
+
|
|
5
|
+
# Cases entitites
|
|
6
|
+
from .cases import Case, CaseIgnoredStatus, CaseStatus, Comment, Trigger
|
|
7
|
+
|
|
8
|
+
# Charts entities
|
|
9
|
+
from .charts import (
|
|
10
|
+
AreaChart,
|
|
11
|
+
AxisConfig,
|
|
12
|
+
BarChart,
|
|
13
|
+
ChartAlignment,
|
|
14
|
+
ChartColor,
|
|
15
|
+
ChartConfiguration,
|
|
16
|
+
ChartDataSerie,
|
|
17
|
+
ChartDataSerieType,
|
|
18
|
+
ChartDataType,
|
|
19
|
+
ChartException,
|
|
20
|
+
ChartRenderTechnology,
|
|
21
|
+
ColumnChart,
|
|
22
|
+
HTMLChart,
|
|
23
|
+
LineChart,
|
|
24
|
+
MapCenterType,
|
|
25
|
+
MapChart,
|
|
26
|
+
MapPoint,
|
|
27
|
+
NumberChart,
|
|
28
|
+
PieChart,
|
|
29
|
+
RadarChart,
|
|
30
|
+
RadialBarChart,
|
|
31
|
+
ScatterChart,
|
|
32
|
+
ScatterSerie,
|
|
33
|
+
ScatterSerieItem,
|
|
34
|
+
TableChart,
|
|
35
|
+
TableHeader,
|
|
36
|
+
TableRow,
|
|
37
|
+
TimelineChart,
|
|
38
|
+
TimelineSerie,
|
|
39
|
+
TimelineSerieItem,
|
|
40
|
+
get_color_list,
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
# Checkpoints entities
|
|
44
|
+
from .checkpoints import Checkpoint, Geofence, Waypoint
|
|
45
|
+
|
|
46
|
+
# Events entities
|
|
47
|
+
from .events import Event
|
|
48
|
+
|
|
49
|
+
# Formatting entities
|
|
50
|
+
from .formatting import TextAlignment
|
|
51
|
+
|
|
52
|
+
# General entities
|
|
53
|
+
from .general import Asset, AssetOperationMode, CustomField, Device, Sensor, User
|
|
54
|
+
|
|
55
|
+
# REPCOM entities
|
|
56
|
+
from .repcom import Transaction
|
|
57
|
+
|
|
58
|
+
# Reports entities
|
|
59
|
+
from .reports import (
|
|
60
|
+
CustomReportPage,
|
|
61
|
+
Report,
|
|
62
|
+
ReportCol,
|
|
63
|
+
ReportConfiguration,
|
|
64
|
+
ReportDataType,
|
|
65
|
+
ReportFormat,
|
|
66
|
+
ReportHeader,
|
|
67
|
+
ReportPage,
|
|
68
|
+
ReportRow,
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
# Telemetry entities
|
|
72
|
+
from .telemetry import Message, Position
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
""" Broadcast Result Request data """
|
|
2
|
+
from typing import Dict, List, Self
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
class BroadcastRequest:
|
|
@@ -10,19 +11,19 @@ class BroadcastRequest:
|
|
|
10
11
|
- raw : Raw data
|
|
11
12
|
"""
|
|
12
13
|
|
|
13
|
-
def __init__(self, json:
|
|
14
|
+
def __init__(self: Self, json: Dict | List, raw: str) -> None:
|
|
14
15
|
self.json = json
|
|
15
16
|
self.raw = raw
|
|
16
17
|
|
|
17
18
|
@property
|
|
18
|
-
def _readable(self) -> str:
|
|
19
|
+
def _readable(self: Self) -> str | None | bool:
|
|
19
20
|
""" Readable """
|
|
20
21
|
return f'BroadcastRequest(json={self.json}, raw={self.raw})'
|
|
21
22
|
|
|
22
|
-
def __repr__(self) -> str:
|
|
23
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
23
24
|
""" Readable property """
|
|
24
25
|
return self._readable
|
|
25
26
|
|
|
26
|
-
def __str__(self) -> str:
|
|
27
|
+
def __str__(self: Self) -> str | None | bool:
|
|
27
28
|
""" Readable property """
|
|
28
29
|
return self._readable
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
""" Broadcast Result Response data """
|
|
2
|
+
from typing import Dict, List, Self
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
class BroadcastResponse:
|
|
@@ -10,19 +11,19 @@ class BroadcastResponse:
|
|
|
10
11
|
- raw (str): Raw data
|
|
11
12
|
"""
|
|
12
13
|
|
|
13
|
-
def __init__(self, json:
|
|
14
|
+
def __init__(self: Self, json: Dict | List, raw: str) -> str | None | bool:
|
|
14
15
|
self.json = json
|
|
15
16
|
self.raw = raw
|
|
16
17
|
|
|
17
18
|
@property
|
|
18
|
-
def _readable(self) -> str:
|
|
19
|
+
def _readable(self: Self) -> str | None | bool:
|
|
19
20
|
""" Readable """
|
|
20
21
|
return f'BroadcastResponse(json={self.json}, raw={self.raw})'
|
|
21
22
|
|
|
22
|
-
def __repr__(self) -> str:
|
|
23
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
23
24
|
""" Readable property """
|
|
24
25
|
return self._readable
|
|
25
26
|
|
|
26
|
-
def __str__(self) -> str:
|
|
27
|
+
def __str__(self: Self) -> str | None | bool:
|
|
27
28
|
""" Readable property """
|
|
28
29
|
return self._readable
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
""" Broadcast result """
|
|
2
2
|
from datetime import datetime
|
|
3
|
+
from typing import Self
|
|
3
4
|
|
|
4
5
|
from .request import BroadcastRequest
|
|
5
6
|
from .response import BroadcastResponse
|
|
@@ -20,14 +21,14 @@ class BroadcastResult:
|
|
|
20
21
|
"""
|
|
21
22
|
|
|
22
23
|
def __init__(
|
|
23
|
-
self,
|
|
24
|
+
self: Self,
|
|
24
25
|
service_id: int,
|
|
25
26
|
asset_id: int,
|
|
26
27
|
status: BroadcastStatus,
|
|
27
28
|
request: BroadcastRequest,
|
|
28
29
|
response: BroadcastResponse,
|
|
29
30
|
submitted_at: datetime,
|
|
30
|
-
) -> None:
|
|
31
|
+
) -> str | None | bool:
|
|
31
32
|
self.service_id = service_id
|
|
32
33
|
self.asset_id = asset_id
|
|
33
34
|
self.status = status
|
|
@@ -36,15 +37,15 @@ class BroadcastResult:
|
|
|
36
37
|
self.submitted_at = submitted_at
|
|
37
38
|
|
|
38
39
|
@property
|
|
39
|
-
def _readable(self) -> str:
|
|
40
|
+
def _readable(self: Self) -> str | None | bool:
|
|
40
41
|
""" Readable """
|
|
41
42
|
return f'BroadcastResult(service_id={self.service_id}, asset_id={self.asset_id}, status={self.status}, ' +\
|
|
42
43
|
f'request={self.request}, response={self.response}, submitted_at={self.submitted_at})'
|
|
43
44
|
|
|
44
|
-
def __repr__(self) -> str:
|
|
45
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
45
46
|
""" Readable property """
|
|
46
47
|
return self._readable
|
|
47
48
|
|
|
48
|
-
def __str__(self) -> str:
|
|
49
|
+
def __str__(self: Self) -> str | None | bool:
|
|
49
50
|
""" Readable property """
|
|
50
51
|
return self._readable
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
""" Service entity """
|
|
2
|
+
from typing import Self
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
class OutboundService:
|
|
@@ -10,19 +11,19 @@ class OutboundService:
|
|
|
10
11
|
- name : Service Name
|
|
11
12
|
"""
|
|
12
13
|
|
|
13
|
-
def __init__(self, pk: int, name: str) -> None:
|
|
14
|
+
def __init__(self: Self, pk: int, name: str) -> str | None | bool:
|
|
14
15
|
self.pk = pk
|
|
15
16
|
self.name = name
|
|
16
17
|
|
|
17
18
|
@property
|
|
18
|
-
def _readable(self) -> str:
|
|
19
|
+
def _readable(self: Self) -> str | None | bool:
|
|
19
20
|
""" Readable """
|
|
20
21
|
return f'OutboundService(pk={self.pk}, name={self.name})'
|
|
21
22
|
|
|
22
|
-
def __repr__(self) -> str:
|
|
23
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
23
24
|
""" Readable property """
|
|
24
25
|
return self._readable
|
|
25
26
|
|
|
26
|
-
def __str__(self) -> str:
|
|
27
|
+
def __str__(self: Self) -> str | None | bool:
|
|
27
28
|
""" Readable property """
|
|
28
29
|
return self._readable
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
""" Broadcast result Status """
|
|
2
2
|
from enum import Enum
|
|
3
|
+
from typing import Self
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class BroadcastStatus(Enum):
|
|
@@ -12,14 +13,14 @@ class BroadcastStatus(Enum):
|
|
|
12
13
|
DISCONNECTED = 'DISCONNECTED'
|
|
13
14
|
|
|
14
15
|
@property
|
|
15
|
-
def _readable(self) -> str:
|
|
16
|
+
def _readable(self: Self) -> str | None | bool:
|
|
16
17
|
""" Readable """
|
|
17
18
|
return f'BroadcastStatus.{self.value}'
|
|
18
19
|
|
|
19
|
-
def __str__(self) -> str:
|
|
20
|
+
def __str__(self: Self) -> str | None | bool:
|
|
20
21
|
""" Readable property """
|
|
21
22
|
return self._readable
|
|
22
23
|
|
|
23
|
-
def __repr__(self) -> str:
|
|
24
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
24
25
|
""" Readable property """
|
|
25
26
|
return self._readable
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from datetime import datetime
|
|
4
4
|
from enum import Enum
|
|
5
|
+
from typing import Self
|
|
5
6
|
|
|
6
7
|
from .trigger import Trigger
|
|
7
8
|
|
|
@@ -13,15 +14,15 @@ class CaseStatus(Enum):
|
|
|
13
14
|
CLOSED = 'CLOSED'
|
|
14
15
|
|
|
15
16
|
@property
|
|
16
|
-
def _readable(self) -> str:
|
|
17
|
+
def _readable(self: Self) -> str | None | bool:
|
|
17
18
|
""" Readable """
|
|
18
19
|
return f'BroadcastStatus.{self.value}'
|
|
19
20
|
|
|
20
|
-
def __str__(self) -> str:
|
|
21
|
+
def __str__(self: Self) -> str | None | bool:
|
|
21
22
|
""" Readable property """
|
|
22
23
|
return self._readable
|
|
23
24
|
|
|
24
|
-
def __repr__(self) -> str:
|
|
25
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
25
26
|
""" Readable property """
|
|
26
27
|
return self._readable
|
|
27
28
|
|
|
@@ -36,15 +37,15 @@ class CaseIgnoredStatus(Enum):
|
|
|
36
37
|
AUTO = 'AUTO'
|
|
37
38
|
|
|
38
39
|
@property
|
|
39
|
-
def _readable(self) -> str:
|
|
40
|
+
def _readable(self: Self) -> str | None | bool:
|
|
40
41
|
""" Readable """
|
|
41
42
|
return f'BroadcastStatus.{self.value}'
|
|
42
43
|
|
|
43
|
-
def __str__(self) -> str:
|
|
44
|
+
def __str__(self: Self) -> str | None | bool:
|
|
44
45
|
""" Readable property """
|
|
45
46
|
return self._readable
|
|
46
47
|
|
|
47
|
-
def __repr__(self) -> str:
|
|
48
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
48
49
|
""" Readable property """
|
|
49
50
|
return self._readable
|
|
50
51
|
|
|
@@ -66,7 +67,7 @@ class Case:
|
|
|
66
67
|
"""
|
|
67
68
|
|
|
68
69
|
def __init__(
|
|
69
|
-
self,
|
|
70
|
+
self: Self,
|
|
70
71
|
pk: int,
|
|
71
72
|
trigger: Trigger,
|
|
72
73
|
asset_id: int,
|
|
@@ -88,29 +89,29 @@ class Case:
|
|
|
88
89
|
self._sequence = sequence
|
|
89
90
|
self.ignored_status = ignored_status
|
|
90
91
|
|
|
91
|
-
def get_sequence(self) -> str:
|
|
92
|
+
def get_sequence(self: Self) -> str | None | bool:
|
|
92
93
|
""" Sequence getter """
|
|
93
94
|
if self._sequence is not None:
|
|
94
95
|
return f'{self.trigger.code}/{self._sequence}'
|
|
95
96
|
else:
|
|
96
97
|
return f'GENERIC/{self.pk}'
|
|
97
98
|
|
|
98
|
-
def set_sequence(self, sequence: int) -> None:
|
|
99
|
+
def set_sequence(self: Self, sequence: int) -> None:
|
|
99
100
|
""" Sequence setter """
|
|
100
101
|
self._sequence = sequence
|
|
101
102
|
|
|
102
103
|
sequence = property(get_sequence, set_sequence)
|
|
103
104
|
|
|
104
105
|
@property
|
|
105
|
-
def _readable(self) -> str:
|
|
106
|
+
def _readable(self: Self) -> str | None | bool:
|
|
106
107
|
""" Readable """
|
|
107
108
|
return f'Case(pk={self.pk}, trigger={self.trigger}, asset_id={self.asset_id}, ' +\
|
|
108
109
|
f'comments={len(self.comments)}, opened_at={self.opened_at}, closed_at={self.closed_at})'
|
|
109
110
|
|
|
110
|
-
def __str__(self) -> str:
|
|
111
|
+
def __str__(self: Self) -> str | None | bool:
|
|
111
112
|
""" Readable property """
|
|
112
113
|
return self._readable
|
|
113
114
|
|
|
114
|
-
def __repr__(self) -> str:
|
|
115
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
115
116
|
""" Readable property """
|
|
116
117
|
return self._readable
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
""" Comment entity """
|
|
2
2
|
from datetime import datetime
|
|
3
|
+
from typing import Self
|
|
3
4
|
|
|
4
5
|
from layrz_sdk.entities.general.user import User
|
|
5
6
|
|
|
@@ -15,7 +16,7 @@ class Comment:
|
|
|
15
16
|
- submitted_at : Date of comment submission
|
|
16
17
|
"""
|
|
17
18
|
|
|
18
|
-
def __init__(self, pk: int, content: str, user: User, submitted_at: datetime) -> None:
|
|
19
|
+
def __init__(self: Self, pk: int, content: str, user: User, submitted_at: datetime) -> None:
|
|
19
20
|
""" Constructor """
|
|
20
21
|
self.pk = pk
|
|
21
22
|
self.content = content
|
|
@@ -23,14 +24,14 @@ class Comment:
|
|
|
23
24
|
self.submitted_at = submitted_at
|
|
24
25
|
|
|
25
26
|
@property
|
|
26
|
-
def _readable(self) -> str:
|
|
27
|
+
def _readable(self: Self) -> str | None | bool:
|
|
27
28
|
""" Readable """
|
|
28
29
|
return f'Comment(pk={self.pk}, content="{self.content}", user={self.user}, submitted_at={self.submitted_at})'
|
|
29
30
|
|
|
30
|
-
def __str__(self) -> str:
|
|
31
|
+
def __str__(self: Self) -> str | None | bool:
|
|
31
32
|
""" Readable property """
|
|
32
33
|
return self._readable
|
|
33
34
|
|
|
34
|
-
def __repr__(self) -> str:
|
|
35
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
35
36
|
""" Readable property """
|
|
36
37
|
return self._readable
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
""" Trigger entity """
|
|
2
|
+
from typing import Self
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
class Trigger:
|
|
@@ -11,21 +12,21 @@ class Trigger:
|
|
|
11
12
|
- code : Trigger code
|
|
12
13
|
"""
|
|
13
14
|
|
|
14
|
-
def __init__(self, pk: int, name: str, code: str) -> None:
|
|
15
|
+
def __init__(self: Self, pk: int, name: str, code: str) -> None:
|
|
15
16
|
""" Constructor """
|
|
16
17
|
self.pk = pk
|
|
17
18
|
self.name = name
|
|
18
19
|
self.code = code
|
|
19
20
|
|
|
20
21
|
@property
|
|
21
|
-
def _readable(self) -> str:
|
|
22
|
+
def _readable(self: Self) -> str | None | bool:
|
|
22
23
|
""" Readable """
|
|
23
24
|
return f'Trigger(pk={self.pk}, name="{self.name}", code="{self.code}")'
|
|
24
25
|
|
|
25
|
-
def __str__(self) -> str:
|
|
26
|
+
def __str__(self: Self) -> str | None | bool:
|
|
26
27
|
""" Readable property """
|
|
27
28
|
return self._readable
|
|
28
29
|
|
|
29
|
-
def __repr__(self) -> str:
|
|
30
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
30
31
|
""" Readable property """
|
|
31
32
|
return self._readable
|
|
@@ -3,7 +3,7 @@ from .alignment import ChartAlignment
|
|
|
3
3
|
from .bar import BarChart
|
|
4
4
|
from .color import ChartColor, get_color_list
|
|
5
5
|
from .column import ColumnChart
|
|
6
|
-
from .configuration import
|
|
6
|
+
from .configuration import AxisConfig, ChartConfiguration
|
|
7
7
|
from .data_type import ChartDataType
|
|
8
8
|
from .exceptions import ChartException
|
|
9
9
|
from .html import HTMLChart
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
""" Chart alignment """
|
|
2
2
|
from enum import Enum
|
|
3
|
+
from typing import Self
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class ChartAlignment(Enum):
|
|
@@ -11,14 +12,14 @@ class ChartAlignment(Enum):
|
|
|
11
12
|
RIGHT = 'right'
|
|
12
13
|
|
|
13
14
|
@property
|
|
14
|
-
def _readable(self) -> str:
|
|
15
|
+
def _readable(self: Self) -> str | None | bool:
|
|
15
16
|
""" Readable """
|
|
16
17
|
return f'ChartAlignment.{self.value}'
|
|
17
18
|
|
|
18
|
-
def __str__(self) -> str:
|
|
19
|
+
def __str__(self: Self) -> str | None | bool:
|
|
19
20
|
""" Readable property """
|
|
20
21
|
return self._readable
|
|
21
22
|
|
|
22
|
-
def __repr__(self) -> str:
|
|
23
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
23
24
|
""" Readable property """
|
|
24
25
|
return self._readable
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
""" Bar chart """
|
|
2
|
+
from typing import Any, List, Self
|
|
3
|
+
|
|
2
4
|
from .alignment import ChartAlignment
|
|
3
5
|
from .configuration import AxisConfig
|
|
4
6
|
from .exceptions import ChartException
|
|
@@ -13,9 +15,9 @@ class BarChart:
|
|
|
13
15
|
"""
|
|
14
16
|
|
|
15
17
|
def __init__(
|
|
16
|
-
self,
|
|
18
|
+
self: Self,
|
|
17
19
|
x_axis: ChartDataSerie,
|
|
18
|
-
y_axis:
|
|
20
|
+
y_axis: List[ChartDataSerie],
|
|
19
21
|
title: str = 'Chart',
|
|
20
22
|
align: ChartAlignment = ChartAlignment.CENTER,
|
|
21
23
|
x_axis_config: AxisConfig = None,
|
|
@@ -66,9 +68,9 @@ class BarChart:
|
|
|
66
68
|
self.y_axis_config = y_axis_config
|
|
67
69
|
|
|
68
70
|
def render(
|
|
69
|
-
self,
|
|
71
|
+
self: Self,
|
|
70
72
|
technology: ChartRenderTechnology = ChartRenderTechnology.SYNCFUSION_FLUTTER_CHARTS,
|
|
71
|
-
) ->
|
|
73
|
+
) -> Any:
|
|
72
74
|
"""
|
|
73
75
|
Render chart to a graphic Library.
|
|
74
76
|
We have two graphic libraries: GRAPHIC and APEXCHARTS.
|
|
@@ -103,7 +105,7 @@ class BarChart:
|
|
|
103
105
|
'configuration': [f'Unsupported rendering technology {technology.name}'],
|
|
104
106
|
}
|
|
105
107
|
|
|
106
|
-
def _render_syncfusion_flutter_charts(self) ->
|
|
108
|
+
def _render_syncfusion_flutter_charts(self: Self) -> Any:
|
|
107
109
|
"""
|
|
108
110
|
Converts the configuration of the chart to Syncfusion Flutter Charts.
|
|
109
111
|
"""
|
|
@@ -139,7 +141,7 @@ class BarChart:
|
|
|
139
141
|
},
|
|
140
142
|
}
|
|
141
143
|
|
|
142
|
-
def _render_graphic(self) ->
|
|
144
|
+
def _render_graphic(self: Self) -> Any:
|
|
143
145
|
"""
|
|
144
146
|
Converts the configuration of the chart to Flutter library graphic.
|
|
145
147
|
"""
|
|
@@ -158,7 +160,7 @@ class BarChart:
|
|
|
158
160
|
|
|
159
161
|
return series
|
|
160
162
|
|
|
161
|
-
def _render_apexcharts(self) ->
|
|
163
|
+
def _render_apexcharts(self: Self) -> Any:
|
|
162
164
|
"""
|
|
163
165
|
Converts the configuration of the chart to Javascript library ApexCharts.
|
|
164
166
|
"""
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
""" Chart alignment """
|
|
2
2
|
from enum import Enum
|
|
3
|
+
from typing import Any, Self
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class ChartColor(Enum):
|
|
@@ -17,19 +18,19 @@ class ChartColor(Enum):
|
|
|
17
18
|
LIME = '#CDDC39'
|
|
18
19
|
|
|
19
20
|
@property
|
|
20
|
-
def _readable(self) -> str:
|
|
21
|
+
def _readable(self: Self) -> str | None | bool:
|
|
21
22
|
""" Readable """
|
|
22
23
|
return f'ChartColor.{self.value}'
|
|
23
24
|
|
|
24
|
-
def __str__(self) -> str:
|
|
25
|
+
def __str__(self: Self) -> str | None | bool:
|
|
25
26
|
""" Readable property """
|
|
26
27
|
return self._readable
|
|
27
28
|
|
|
28
|
-
def __repr__(self) -> str:
|
|
29
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
29
30
|
""" Readable property """
|
|
30
31
|
return self._readable
|
|
31
32
|
|
|
32
33
|
|
|
33
|
-
def get_color_list() ->
|
|
34
|
+
def get_color_list() -> Any:
|
|
34
35
|
""" Get all colors """
|
|
35
36
|
return [color.value for color in ChartColor]
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
""" Column chart """
|
|
2
|
+
from typing import Any, List, Self
|
|
3
|
+
|
|
2
4
|
from layrz_sdk.helpers import convert_to_rgba
|
|
3
5
|
|
|
4
6
|
from .alignment import ChartAlignment
|
|
@@ -16,9 +18,9 @@ class ColumnChart:
|
|
|
16
18
|
"""
|
|
17
19
|
|
|
18
20
|
def __init__(
|
|
19
|
-
self,
|
|
21
|
+
self: Self,
|
|
20
22
|
x_axis: ChartDataSerie,
|
|
21
|
-
y_axis:
|
|
23
|
+
y_axis: List[ChartDataSerie],
|
|
22
24
|
title: str = 'Chart',
|
|
23
25
|
align: ChartAlignment = ChartAlignment.CENTER,
|
|
24
26
|
x_axis_config: AxisConfig = None,
|
|
@@ -69,9 +71,9 @@ class ColumnChart:
|
|
|
69
71
|
self.y_axis_config = y_axis_config
|
|
70
72
|
|
|
71
73
|
def render(
|
|
72
|
-
self,
|
|
74
|
+
self: Self,
|
|
73
75
|
technology: ChartRenderTechnology = ChartRenderTechnology.SYNCFUSION_FLUTTER_CHARTS,
|
|
74
|
-
) ->
|
|
76
|
+
) -> Any:
|
|
75
77
|
"""
|
|
76
78
|
Render chart to a graphic Library.
|
|
77
79
|
We have two graphic libraries: GRAPHIC and APEXCHARTS.
|
|
@@ -106,7 +108,7 @@ class ColumnChart:
|
|
|
106
108
|
'configuration': [f'Unsupported {technology}'],
|
|
107
109
|
}
|
|
108
110
|
|
|
109
|
-
def _render_syncfusion_flutter_charts(self) ->
|
|
111
|
+
def _render_syncfusion_flutter_charts(self: Self) -> Any:
|
|
110
112
|
"""
|
|
111
113
|
Converts the configuration of the chart to Syncfusion Flutter Charts.
|
|
112
114
|
"""
|
|
@@ -142,7 +144,7 @@ class ColumnChart:
|
|
|
142
144
|
},
|
|
143
145
|
}
|
|
144
146
|
|
|
145
|
-
def _render_graphic(self) ->
|
|
147
|
+
def _render_graphic(self: Self) -> Any:
|
|
146
148
|
"""
|
|
147
149
|
Converts the configuration of the chart to Flutter library graphic.
|
|
148
150
|
"""
|
|
@@ -161,7 +163,7 @@ class ColumnChart:
|
|
|
161
163
|
|
|
162
164
|
return series
|
|
163
165
|
|
|
164
|
-
def _render_apexcharts(self) ->
|
|
166
|
+
def _render_apexcharts(self: Self) -> Any:
|
|
165
167
|
"""
|
|
166
168
|
Converts the configuration of the chart to Javascript library ApexCharts.
|
|
167
169
|
"""
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
""" Charts entities """
|
|
2
|
+
from typing import Self
|
|
3
|
+
|
|
2
4
|
from .data_type import ChartDataType
|
|
3
5
|
|
|
4
6
|
|
|
@@ -7,21 +9,21 @@ class ChartConfiguration:
|
|
|
7
9
|
Chart configuration
|
|
8
10
|
"""
|
|
9
11
|
|
|
10
|
-
def __init__(self, name: str, description: str) -> None:
|
|
12
|
+
def __init__(self: Self, name: str, description: str) -> None:
|
|
11
13
|
""" Constructor """
|
|
12
14
|
self.name = name
|
|
13
15
|
self.description = description
|
|
14
16
|
|
|
15
17
|
@property
|
|
16
|
-
def _readable(self) -> str:
|
|
18
|
+
def _readable(self: Self) -> str | None | bool:
|
|
17
19
|
""" Readable """
|
|
18
20
|
return f'ChartConfiguration(name="{self.name}")'
|
|
19
21
|
|
|
20
|
-
def __str__(self) -> str:
|
|
22
|
+
def __str__(self: Self) -> str | None | bool:
|
|
21
23
|
""" Readable property """
|
|
22
24
|
return self._readable
|
|
23
25
|
|
|
24
|
-
def __repr__(self) -> str:
|
|
26
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
25
27
|
""" Readable property """
|
|
26
28
|
return self._readable
|
|
27
29
|
|
|
@@ -30,11 +32,11 @@ class AxisConfig:
|
|
|
30
32
|
""" Axis configuration """
|
|
31
33
|
|
|
32
34
|
def __init__(
|
|
33
|
-
self,
|
|
35
|
+
self: Self,
|
|
34
36
|
label: str = '',
|
|
35
37
|
measure_unit: str = '',
|
|
36
|
-
min_value:
|
|
37
|
-
max_value:
|
|
38
|
+
min_value: float = None,
|
|
39
|
+
max_value: float = None,
|
|
38
40
|
data_type: ChartDataType = ChartDataType.DATETIME,
|
|
39
41
|
) -> None:
|
|
40
42
|
"""
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
""" Chart Data type """
|
|
2
2
|
from enum import Enum
|
|
3
|
+
from typing import Self
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
class ChartDataType(Enum):
|
|
@@ -11,14 +12,14 @@ class ChartDataType(Enum):
|
|
|
11
12
|
NUMBER = 'NUMBER'
|
|
12
13
|
|
|
13
14
|
@property
|
|
14
|
-
def _readable(self) -> str:
|
|
15
|
+
def _readable(self: Self) -> str | None | bool:
|
|
15
16
|
""" Readable """
|
|
16
17
|
return f'ChartDataType.{self.value}'
|
|
17
18
|
|
|
18
|
-
def __str__(self) -> str:
|
|
19
|
+
def __str__(self: Self) -> str | None | bool:
|
|
19
20
|
""" Readable property """
|
|
20
21
|
return self._readable
|
|
21
22
|
|
|
22
|
-
def __repr__(self) -> str:
|
|
23
|
+
def __repr__(self: Self) -> str | None | bool:
|
|
23
24
|
""" Readable property """
|
|
24
25
|
return self._readable
|