layrz-sdk 3.0.9__tar.gz → 3.0.11__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.

Files changed (87) hide show
  1. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/PKG-INFO +2 -1
  2. layrz_sdk-3.0.11/layrz_sdk/entities/broadcasts/request.py +30 -0
  3. layrz_sdk-3.0.11/layrz_sdk/entities/broadcasts/response.py +30 -0
  4. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/broadcasts/result.py +13 -11
  5. layrz_sdk-3.0.11/layrz_sdk/entities/broadcasts/service.py +28 -0
  6. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/broadcasts/status.py +10 -9
  7. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/cases/case.py +33 -30
  8. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/cases/comment.py +10 -10
  9. layrz_sdk-3.0.11/layrz_sdk/entities/cases/trigger.py +31 -0
  10. layrz_sdk-3.0.11/layrz_sdk/entities/charts/alignment.py +26 -0
  11. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/bar.py +31 -45
  12. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/color.py +12 -10
  13. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/column.py +30 -49
  14. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/configuration.py +11 -12
  15. layrz_sdk-3.0.11/layrz_sdk/entities/charts/data_type.py +26 -0
  16. layrz_sdk-3.0.11/layrz_sdk/entities/charts/exceptions.py +29 -0
  17. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/html.py +6 -5
  18. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/line.py +52 -46
  19. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/map.py +23 -19
  20. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/number.py +6 -5
  21. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/pie.py +27 -34
  22. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/radar.py +14 -34
  23. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/radial_bar.py +27 -34
  24. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/render_technology.py +9 -8
  25. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/scatter.py +52 -53
  26. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/serie.py +4 -3
  27. layrz_sdk-3.0.11/layrz_sdk/entities/charts/serie_type.py +27 -0
  28. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/table.py +6 -6
  29. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/timeline.py +21 -32
  30. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/checkpoints/checkpoint.py +15 -12
  31. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/checkpoints/geofence.py +9 -10
  32. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/checkpoints/waypoint.py +14 -12
  33. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/events/event.py +15 -13
  34. layrz_sdk-3.0.11/layrz_sdk/entities/formatting/text_align.py +25 -0
  35. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/general/asset.py +16 -13
  36. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/general/asset_operation_mode.py +9 -8
  37. layrz_sdk-3.0.11/layrz_sdk/entities/general/custom_field.py +29 -0
  38. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/general/device.py +13 -12
  39. layrz_sdk-3.0.11/layrz_sdk/entities/general/sensor.py +31 -0
  40. layrz_sdk-3.0.11/layrz_sdk/entities/general/user.py +29 -0
  41. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/repcom/transaction.py +4 -4
  42. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/reports/col.py +17 -15
  43. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/reports/format.py +3 -4
  44. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/reports/header.py +4 -5
  45. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/reports/page.py +12 -11
  46. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/reports/report.py +14 -14
  47. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/reports/row.py +10 -10
  48. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/telemetry/message.py +5 -4
  49. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/telemetry/position.py +13 -12
  50. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/lcl/core.py +93 -65
  51. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk.egg-info/PKG-INFO +2 -1
  52. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk.egg-info/requires.txt +1 -0
  53. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/pyproject.toml +3 -1
  54. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/tests/test_lcl.py +52 -52
  55. layrz_sdk-3.0.9/layrz_sdk/entities/broadcasts/request.py +0 -29
  56. layrz_sdk-3.0.9/layrz_sdk/entities/broadcasts/response.py +0 -29
  57. layrz_sdk-3.0.9/layrz_sdk/entities/broadcasts/service.py +0 -29
  58. layrz_sdk-3.0.9/layrz_sdk/entities/cases/trigger.py +0 -32
  59. layrz_sdk-3.0.9/layrz_sdk/entities/charts/alignment.py +0 -25
  60. layrz_sdk-3.0.9/layrz_sdk/entities/charts/data_type.py +0 -25
  61. layrz_sdk-3.0.9/layrz_sdk/entities/charts/exceptions.py +0 -30
  62. layrz_sdk-3.0.9/layrz_sdk/entities/charts/serie_type.py +0 -26
  63. layrz_sdk-3.0.9/layrz_sdk/entities/formatting/text_align.py +0 -24
  64. layrz_sdk-3.0.9/layrz_sdk/entities/general/custom_field.py +0 -30
  65. layrz_sdk-3.0.9/layrz_sdk/entities/general/sensor.py +0 -32
  66. layrz_sdk-3.0.9/layrz_sdk/entities/general/user.py +0 -30
  67. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/LICENSE +0 -0
  68. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/README.md +0 -0
  69. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/__init__.py +0 -0
  70. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/__init__.py +0 -0
  71. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/broadcasts/__init__.py +0 -0
  72. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/cases/__init__.py +0 -0
  73. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/charts/__init__.py +0 -0
  74. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/checkpoints/__init__.py +0 -0
  75. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/events/__init__.py +0 -0
  76. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/formatting/__init__.py +0 -0
  77. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/general/__init__.py +0 -0
  78. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/repcom/__init__.py +0 -0
  79. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/reports/__init__.py +0 -0
  80. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/entities/telemetry/__init__.py +0 -0
  81. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/helpers/__init__.py +0 -0
  82. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/helpers/color.py +0 -0
  83. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk/lcl/__init__.py +0 -0
  84. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk.egg-info/SOURCES.txt +0 -0
  85. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk.egg-info/dependency_links.txt +0 -0
  86. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/layrz_sdk.egg-info/top_level.txt +0 -0
  87. {layrz_sdk-3.0.9 → layrz_sdk-3.0.11}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: layrz-sdk
3
- Version: 3.0.9
3
+ Version: 3.0.11
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>
@@ -17,6 +17,7 @@ Description-Content-Type: text/markdown
17
17
  License-File: LICENSE
18
18
  Requires-Dist: requests
19
19
  Requires-Dist: xlsxwriter
20
+ Requires-Dist: tzdata
20
21
 
21
22
  # Layrz SDK
22
23
 
@@ -0,0 +1,30 @@
1
+ """Broadcast Result Request data"""
2
+
3
+ from typing import Dict, List
4
+
5
+
6
+ class BroadcastRequest:
7
+ """
8
+ Broadcast request data
9
+ ---
10
+ Attributes
11
+ - json : Parsed data
12
+ - raw : Raw data
13
+ """
14
+
15
+ def __init__(self, json: Dict | List, raw: str) -> None:
16
+ self.json = json
17
+ self.raw = raw
18
+
19
+ @property
20
+ def _readable(self) -> str | None | bool:
21
+ """Readable"""
22
+ return f'BroadcastRequest(json={self.json}, raw={self.raw})'
23
+
24
+ def __repr__(self) -> str | None | bool:
25
+ """Readable property"""
26
+ return self._readable
27
+
28
+ def __str__(self) -> str | None | bool:
29
+ """Readable property"""
30
+ return self._readable
@@ -0,0 +1,30 @@
1
+ """Broadcast Result Response data"""
2
+
3
+ from typing import Dict, List
4
+
5
+
6
+ class BroadcastResponse:
7
+ """
8
+ Broadcast response data
9
+ ---
10
+ Attributes
11
+ - json (dict|list): Parsed data
12
+ - raw (str): Raw data
13
+ """
14
+
15
+ def __init__(self, json: Dict | List, raw: str) -> str | None | bool:
16
+ self.json = json
17
+ self.raw = raw
18
+
19
+ @property
20
+ def _readable(self) -> str | None | bool:
21
+ """Readable"""
22
+ return f'BroadcastResponse(json={self.json}, raw={self.raw})'
23
+
24
+ def __repr__(self) -> str | None | bool:
25
+ """Readable property"""
26
+ return self._readable
27
+
28
+ def __str__(self) -> str | None | bool:
29
+ """Readable property"""
30
+ return self._readable
@@ -1,6 +1,6 @@
1
- """ Broadcast result """
1
+ """Broadcast result"""
2
+
2
3
  from datetime import datetime
3
- from typing import Self
4
4
 
5
5
  from .request import BroadcastRequest
6
6
  from .response import BroadcastResponse
@@ -21,7 +21,7 @@ class BroadcastResult:
21
21
  """
22
22
 
23
23
  def __init__(
24
- self: Self,
24
+ self,
25
25
  service_id: int,
26
26
  asset_id: int,
27
27
  status: BroadcastStatus,
@@ -37,15 +37,17 @@ class BroadcastResult:
37
37
  self.submitted_at = submitted_at
38
38
 
39
39
  @property
40
- def _readable(self: Self) -> str | None | bool:
41
- """ Readable """
42
- return f'BroadcastResult(service_id={self.service_id}, asset_id={self.asset_id}, status={self.status}, ' +\
43
- f'request={self.request}, response={self.response}, submitted_at={self.submitted_at})'
40
+ def _readable(self) -> str | None | bool:
41
+ """Readable"""
42
+ return (
43
+ f'BroadcastResult(service_id={self.service_id}, asset_id={self.asset_id}, status={self.status}, '
44
+ + f'request={self.request}, response={self.response}, submitted_at={self.submitted_at})'
45
+ )
44
46
 
45
- def __repr__(self: Self) -> str | None | bool:
46
- """ Readable property """
47
+ def __repr__(self) -> str | None | bool:
48
+ """Readable property"""
47
49
  return self._readable
48
50
 
49
- def __str__(self: Self) -> str | None | bool:
50
- """ Readable property """
51
+ def __str__(self) -> str | None | bool:
52
+ """Readable property"""
51
53
  return self._readable
@@ -0,0 +1,28 @@
1
+ """Service entity"""
2
+
3
+
4
+ class OutboundService:
5
+ """
6
+ Outbound service definition
7
+ ---
8
+ Attributes
9
+ - pk : Service ID
10
+ - name : Service Name
11
+ """
12
+
13
+ def __init__(self, pk: int, name: str) -> str | None | bool:
14
+ self.pk = pk
15
+ self.name = name
16
+
17
+ @property
18
+ def _readable(self) -> str | None | bool:
19
+ """Readable"""
20
+ return f'OutboundService(pk={self.pk}, name={self.name})'
21
+
22
+ def __repr__(self) -> str | None | bool:
23
+ """Readable property"""
24
+ return self._readable
25
+
26
+ def __str__(self) -> str | None | bool:
27
+ """Readable property"""
28
+ return self._readable
@@ -1,10 +1,11 @@
1
- """ Broadcast result Status """
1
+ """Broadcast result Status"""
2
+
2
3
  from enum import Enum
3
- from typing import Self
4
4
 
5
5
 
6
6
  class BroadcastStatus(Enum):
7
- """ Broadcast result status """
7
+ """Broadcast result status"""
8
+
8
9
  OK = 'OK'
9
10
  BADREQUEST = 'BADREQUEST'
10
11
  INTERNALERROR = 'INTERNALERROR'
@@ -13,14 +14,14 @@ class BroadcastStatus(Enum):
13
14
  DISCONNECTED = 'DISCONNECTED'
14
15
 
15
16
  @property
16
- def _readable(self: Self) -> str | None | bool:
17
- """ Readable """
17
+ def _readable(self) -> str | None | bool:
18
+ """Readable"""
18
19
  return f'BroadcastStatus.{self.value}'
19
20
 
20
- def __str__(self: Self) -> str | None | bool:
21
- """ Readable property """
21
+ def __str__(self) -> str | None | bool:
22
+ """Readable property"""
22
23
  return self._readable
23
24
 
24
- def __repr__(self: Self) -> str | None | bool:
25
- """ Readable property """
25
+ def __repr__(self) -> str | None | bool:
26
+ """Readable property"""
26
27
  return self._readable
@@ -1,29 +1,29 @@
1
- """ Events entitites """
1
+ """Events entitites"""
2
2
 
3
3
  from datetime import datetime
4
4
  from enum import Enum
5
- from typing import Self
6
5
 
7
6
  from .trigger import Trigger
8
7
 
9
8
 
10
9
  class CaseStatus(Enum):
11
- """ Case status enum """
10
+ """Case status enum"""
11
+
12
12
  PENDING = 'PENDING'
13
13
  FOLLOWED = 'FOLLOWED'
14
14
  CLOSED = 'CLOSED'
15
15
 
16
16
  @property
17
- def _readable(self: Self) -> str | None | bool:
18
- """ Readable """
17
+ def _readable(self) -> str | None | bool:
18
+ """Readable"""
19
19
  return f'BroadcastStatus.{self.value}'
20
20
 
21
- def __str__(self: Self) -> str | None | bool:
22
- """ Readable property """
21
+ def __str__(self) -> str | None | bool:
22
+ """Readable property"""
23
23
  return self._readable
24
24
 
25
- def __repr__(self: Self) -> str | None | bool:
26
- """ Readable property """
25
+ def __repr__(self) -> str | None | bool:
26
+ """Readable property"""
27
27
  return self._readable
28
28
 
29
29
 
@@ -31,22 +31,23 @@ class CaseIgnoredStatus(Enum):
31
31
  """
32
32
  Case ignore status, will define what kind ignore happened.
33
33
  """
34
+
34
35
  NORMAL = 'NORMAL'
35
36
  IGNORED = 'IGNORED'
36
37
  PRESSET = 'PRESSET'
37
38
  AUTO = 'AUTO'
38
39
 
39
40
  @property
40
- def _readable(self: Self) -> str | None | bool:
41
- """ Readable """
41
+ def _readable(self) -> str | None | bool:
42
+ """Readable"""
42
43
  return f'BroadcastStatus.{self.value}'
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
51
52
 
52
53
 
@@ -67,7 +68,7 @@ class Case:
67
68
  """
68
69
 
69
70
  def __init__(
70
- self: Self,
71
+ self,
71
72
  pk: int,
72
73
  trigger: Trigger,
73
74
  asset_id: int,
@@ -78,7 +79,7 @@ class Case:
78
79
  status: CaseStatus = CaseStatus.CLOSED,
79
80
  ignored_status: CaseIgnoredStatus = CaseIgnoredStatus.NORMAL,
80
81
  ) -> None:
81
- """ Constructor """
82
+ """Constructor"""
82
83
  self.pk = pk
83
84
  self.trigger = trigger
84
85
  self.asset_id = asset_id
@@ -89,29 +90,31 @@ class Case:
89
90
  self._sequence = sequence
90
91
  self.ignored_status = ignored_status
91
92
 
92
- def get_sequence(self: Self) -> str | None | bool:
93
- """ Sequence getter """
93
+ def get_sequence(self) -> str | None | bool:
94
+ """Sequence getter"""
94
95
  if self._sequence is not None:
95
96
  return f'{self.trigger.code}/{self._sequence}'
96
97
  else:
97
98
  return f'GENERIC/{self.pk}'
98
99
 
99
- def set_sequence(self: Self, sequence: int) -> None:
100
- """ Sequence setter """
100
+ def set_sequence(self, sequence: int) -> None:
101
+ """Sequence setter"""
101
102
  self._sequence = sequence
102
103
 
103
104
  sequence = property(get_sequence, set_sequence)
104
105
 
105
106
  @property
106
- def _readable(self: Self) -> str | None | bool:
107
- """ Readable """
108
- return f'Case(pk={self.pk}, trigger={self.trigger}, asset_id={self.asset_id}, ' +\
109
- f'comments={len(self.comments)}, opened_at={self.opened_at}, closed_at={self.closed_at})'
110
-
111
- def __str__(self: Self) -> str | None | bool:
112
- """ Readable property """
107
+ def _readable(self) -> str | None | bool:
108
+ """Readable"""
109
+ return (
110
+ f'Case(pk={self.pk}, trigger={self.trigger}, asset_id={self.asset_id}, '
111
+ + f'comments={len(self.comments)}, opened_at={self.opened_at}, closed_at={self.closed_at})'
112
+ )
113
+
114
+ def __str__(self) -> str | None | bool:
115
+ """Readable property"""
113
116
  return self._readable
114
117
 
115
- def __repr__(self: Self) -> str | None | bool:
116
- """ Readable property """
118
+ def __repr__(self) -> str | None | bool:
119
+ """Readable property"""
117
120
  return self._readable
@@ -1,6 +1,6 @@
1
- """ Comment entity """
1
+ """Comment entity"""
2
+
2
3
  from datetime import datetime
3
- from typing import Self
4
4
 
5
5
  from layrz_sdk.entities.general.user import User
6
6
 
@@ -16,22 +16,22 @@ class Comment:
16
16
  - submitted_at : Date of comment submission
17
17
  """
18
18
 
19
- def __init__(self: Self, pk: int, content: str, user: User, submitted_at: datetime) -> None:
20
- """ Constructor """
19
+ def __init__(self, pk: int, content: str, user: User, submitted_at: datetime) -> None:
20
+ """Constructor"""
21
21
  self.pk = pk
22
22
  self.content = content
23
23
  self.user = user
24
24
  self.submitted_at = submitted_at
25
25
 
26
26
  @property
27
- def _readable(self: Self) -> str | None | bool:
28
- """ Readable """
27
+ def _readable(self) -> str | None | bool:
28
+ """Readable"""
29
29
  return f'Comment(pk={self.pk}, content="{self.content}", user={self.user}, submitted_at={self.submitted_at})'
30
30
 
31
- def __str__(self: Self) -> str | None | bool:
32
- """ Readable property """
31
+ def __str__(self) -> str | None | bool:
32
+ """Readable property"""
33
33
  return self._readable
34
34
 
35
- def __repr__(self: Self) -> str | None | bool:
36
- """ Readable property """
35
+ def __repr__(self) -> str | None | bool:
36
+ """Readable property"""
37
37
  return self._readable
@@ -0,0 +1,31 @@
1
+ """Trigger entity"""
2
+
3
+
4
+ class Trigger:
5
+ """
6
+ Trigger entity definition
7
+ ---
8
+ Attributes
9
+ - pk : Trigger ID
10
+ - name : Trigger name
11
+ - code : Trigger code
12
+ """
13
+
14
+ def __init__(self, pk: int, name: str, code: str) -> None:
15
+ """Constructor"""
16
+ self.pk = pk
17
+ self.name = name
18
+ self.code = code
19
+
20
+ @property
21
+ def _readable(self) -> str | None | bool:
22
+ """Readable"""
23
+ return f'Trigger(pk={self.pk}, name="{self.name}", code="{self.code}")'
24
+
25
+ def __str__(self) -> str | None | bool:
26
+ """Readable property"""
27
+ return self._readable
28
+
29
+ def __repr__(self) -> str | None | bool:
30
+ """Readable property"""
31
+ return self._readable
@@ -0,0 +1,26 @@
1
+ """Chart alignment"""
2
+
3
+ from enum import Enum
4
+
5
+
6
+ class ChartAlignment(Enum):
7
+ """
8
+ Chart Alignment
9
+ """
10
+
11
+ CENTER = 'center'
12
+ LEFT = 'left'
13
+ RIGHT = 'right'
14
+
15
+ @property
16
+ def _readable(self) -> str | None | bool:
17
+ """Readable"""
18
+ return f'ChartAlignment.{self.value}'
19
+
20
+ def __str__(self) -> str | None | bool:
21
+ """Readable property"""
22
+ return self._readable
23
+
24
+ def __repr__(self) -> str | None | bool:
25
+ """Readable property"""
26
+ return self._readable
@@ -1,5 +1,6 @@
1
- """ Bar chart """
2
- from typing import Any, List, Self
1
+ """Bar chart"""
2
+
3
+ from typing import Any, List
3
4
 
4
5
  from .alignment import ChartAlignment
5
6
  from .configuration import AxisConfig
@@ -15,7 +16,7 @@ class BarChart:
15
16
  """
16
17
 
17
18
  def __init__(
18
- self: Self,
19
+ self,
19
20
  x_axis: ChartDataSerie,
20
21
  y_axis: List[ChartDataSerie],
21
22
  title: str = 'Chart',
@@ -68,7 +69,7 @@ class BarChart:
68
69
  self.y_axis_config = y_axis_config
69
70
 
70
71
  def render(
71
- self: Self,
72
+ self,
72
73
  technology: ChartRenderTechnology = ChartRenderTechnology.SYNCFUSION_FLUTTER_CHARTS,
73
74
  ) -> Any:
74
75
  """
@@ -105,7 +106,7 @@ class BarChart:
105
106
  'configuration': [f'Unsupported rendering technology {technology.name}'],
106
107
  }
107
108
 
108
- def _render_syncfusion_flutter_charts(self: Self) -> Any:
109
+ def _render_syncfusion_flutter_charts(self) -> Any:
109
110
  """
110
111
  Converts the configuration of the chart to Syncfusion Flutter Charts.
111
112
  """
@@ -117,11 +118,13 @@ class BarChart:
117
118
  x_axis = self.x_axis.data[i]
118
119
  values.append({'xAxis': x_axis, 'yAxis': value})
119
120
 
120
- series.append({
121
- 'label': serie.label,
122
- 'color': serie.color,
123
- 'values': values,
124
- })
121
+ series.append(
122
+ {
123
+ 'label': serie.label,
124
+ 'color': serie.color,
125
+ 'values': values,
126
+ }
127
+ )
125
128
 
126
129
  return {
127
130
  'series': series,
@@ -141,7 +144,7 @@ class BarChart:
141
144
  },
142
145
  }
143
146
 
144
- def _render_graphic(self: Self) -> Any:
147
+ def _render_graphic(self) -> Any:
145
148
  """
146
149
  Converts the configuration of the chart to Flutter library graphic.
147
150
  """
@@ -151,16 +154,18 @@ class BarChart:
151
154
  for serie in self.y_axis:
152
155
  for i, value in enumerate(serie.data):
153
156
  x_axis = self.x_axis.data[i]
154
- series.append({
155
- 'label': serie.label,
156
- 'color': serie.color,
157
- 'category': x_axis,
158
- 'value': value,
159
- })
157
+ series.append(
158
+ {
159
+ 'label': serie.label,
160
+ 'color': serie.color,
161
+ 'category': x_axis,
162
+ 'value': value,
163
+ }
164
+ )
160
165
 
161
166
  return series
162
167
 
163
- def _render_apexcharts(self: Self) -> Any:
168
+ def _render_apexcharts(self) -> Any:
164
169
  """
165
170
  Converts the configuration of the chart to Javascript library ApexCharts.
166
171
  """
@@ -183,40 +188,21 @@ class BarChart:
183
188
  'xaxis': {
184
189
  'categories': self.x_axis.data,
185
190
  'type': self.x_axis.data_type.value,
186
- 'title': {
187
- 'text': self.x_axis.label
188
- }
191
+ 'title': {'text': self.x_axis.label},
189
192
  },
190
193
  'title': {
191
194
  'text': self.title,
192
195
  'align': self.align.value,
193
- 'style': {
194
- 'fontFamily': 'Fira Sans Condensed',
195
- 'fontSize': '20px',
196
- 'fontWeight': 'normal'
197
- }
198
- },
199
- 'plotOptions': {
200
- 'bar': {
201
- 'horizontal': True,
202
- 'borderRadius': 4
203
- }
204
- },
205
- 'dataLabels': {
206
- 'enabled': False
196
+ 'style': {'fontFamily': 'Fira Sans Condensed', 'fontSize': '20px', 'fontWeight': 'normal'},
207
197
  },
198
+ 'plotOptions': {'bar': {'horizontal': True, 'borderRadius': 4}},
199
+ 'dataLabels': {'enabled': False},
208
200
  'chart': {
209
201
  'type': 'bar',
210
- 'animations': {
211
- 'enabled': False
212
- },
213
- 'toolbar': {
214
- 'show': False
215
- },
216
- 'zoom': {
217
- 'enabled': False
218
- }
219
- }
202
+ 'animations': {'enabled': False},
203
+ 'toolbar': {'show': False},
204
+ 'zoom': {'enabled': False},
205
+ },
220
206
  }
221
207
 
222
208
  return config
@@ -1,10 +1,12 @@
1
- """ Chart alignment """
1
+ """Chart alignment"""
2
+
2
3
  from enum import Enum
3
- from typing import Any, Self
4
+ from typing import Any
4
5
 
5
6
 
6
7
  class ChartColor(Enum):
7
- """ Chart color list, ideal to use to colorize the series """
8
+ """Chart color list, ideal to use to colorize the series"""
9
+
8
10
  RED = '#F44336'
9
11
  BLUE = '#2196F3'
10
12
  GREEN = '#4CAF50'
@@ -18,19 +20,19 @@ class ChartColor(Enum):
18
20
  LIME = '#CDDC39'
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'ChartColor.{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
 
34
36
  def get_color_list() -> Any:
35
- """ Get all colors """
37
+ """Get all colors"""
36
38
  return [color.value for color in ChartColor]