layrz-sdk 2.0.1__py3-none-any.whl → 2.0.3__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/reports/format.py +2 -0
- layrz/sdk/entities/reports/report.py +46 -1
- {layrz_sdk-2.0.1.dist-info → layrz_sdk-2.0.3.dist-info}/METADATA +1 -1
- {layrz_sdk-2.0.1.dist-info → layrz_sdk-2.0.3.dist-info}/RECORD +9 -9
- /layrz_sdk-2.0.1-py3.11-nspkg.pth → /layrz_sdk-2.0.3-py3.11-nspkg.pth +0 -0
- {layrz_sdk-2.0.1.dist-info → layrz_sdk-2.0.3.dist-info}/LICENSE +0 -0
- {layrz_sdk-2.0.1.dist-info → layrz_sdk-2.0.3.dist-info}/WHEEL +0 -0
- {layrz_sdk-2.0.1.dist-info → layrz_sdk-2.0.3.dist-info}/namespace_packages.txt +0 -0
- {layrz_sdk-2.0.1.dist-info → layrz_sdk-2.0.3.dist-info}/top_level.txt +0 -0
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
""" Report class """
|
|
2
2
|
import time
|
|
3
|
+
|
|
3
4
|
import xlsxwriter
|
|
5
|
+
|
|
4
6
|
from .col import ReportDataType
|
|
5
7
|
from .format import ReportFormat
|
|
8
|
+
|
|
9
|
+
|
|
6
10
|
class Report:
|
|
7
11
|
"""
|
|
8
12
|
Report definition
|
|
@@ -13,6 +17,7 @@ class Report:
|
|
|
13
17
|
pages (list(ReportPage)): List of pages to append into report
|
|
14
18
|
export_format (ReportFormat): Format to export the report
|
|
15
19
|
"""
|
|
20
|
+
|
|
16
21
|
def __init__(self, name, pages, export_format):
|
|
17
22
|
self.__name = name
|
|
18
23
|
self.__pages = pages
|
|
@@ -55,9 +60,48 @@ class Report:
|
|
|
55
60
|
""" Export report to file """
|
|
56
61
|
if self.export_format == ReportFormat.MICROSOFT_EXCEL:
|
|
57
62
|
return self.__export_xlsx(path)
|
|
63
|
+
elif self.export_format == ReportFormat.JSON:
|
|
64
|
+
return self.__export_json()
|
|
58
65
|
else:
|
|
59
66
|
raise Exception(f'Unsupported export format: {self.export_format}')
|
|
60
67
|
|
|
68
|
+
def export_as_json(self):
|
|
69
|
+
""" Returns the report as a JSON dict"""
|
|
70
|
+
return self.__export_json()
|
|
71
|
+
|
|
72
|
+
def __export_json(self):
|
|
73
|
+
""" Returns a JSON dict of the report"""
|
|
74
|
+
json_pages = []
|
|
75
|
+
for page in self.pages:
|
|
76
|
+
headers = []
|
|
77
|
+
for header in page.headers:
|
|
78
|
+
headers.append({
|
|
79
|
+
'content': header.content,
|
|
80
|
+
'text_color': header.text_color,
|
|
81
|
+
'color': header.color,
|
|
82
|
+
})
|
|
83
|
+
rows = []
|
|
84
|
+
for row in page.rows:
|
|
85
|
+
cells = []
|
|
86
|
+
for cell in row.content:
|
|
87
|
+
cells.append({
|
|
88
|
+
'content': cell.content,
|
|
89
|
+
'text_color': cell.text_color,
|
|
90
|
+
'color': cell.color,
|
|
91
|
+
'data_type': cell.data_type.value,
|
|
92
|
+
})
|
|
93
|
+
rows.append({'content': cells})
|
|
94
|
+
json_pages.append({
|
|
95
|
+
'name': page.name,
|
|
96
|
+
'headers': headers,
|
|
97
|
+
'rows': rows,
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
return {
|
|
101
|
+
'name': self.name,
|
|
102
|
+
'pages': json_pages,
|
|
103
|
+
}
|
|
104
|
+
|
|
61
105
|
def __export_xlsx(self, path):
|
|
62
106
|
""" Export to Microsoft Excel (.xslx) """
|
|
63
107
|
|
|
@@ -109,7 +153,8 @@ class Report:
|
|
|
109
153
|
style.update({'num_format': '0.00'})
|
|
110
154
|
elif cell.data_type == ReportDataType.CURRENCY:
|
|
111
155
|
value = float(cell.content)
|
|
112
|
-
style.update(
|
|
156
|
+
style.update(
|
|
157
|
+
{'num_format': f'"{cell.currency_symbol}" * #,##0.00;[Red]"{cell.currency_symbol}" * #,##0.00'})
|
|
113
158
|
else:
|
|
114
159
|
value = cell.content
|
|
115
160
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
layrz_sdk-2.0.
|
|
1
|
+
layrz_sdk-2.0.3-py3.11-nspkg.pth,sha256=MNZOBc4slk3Y4bwVpQCN6pJyMwajK1uiAAaOOWDG7d8,534
|
|
2
2
|
layrz/sdk/__init__.py,sha256=Am2QkkucYd98jo7Sg-uWMzaWIxX7ZZBWT4fl_tC_a3A,17
|
|
3
3
|
layrz/sdk/test.py,sha256=ukcbEysgvi07wsrq_T9JHuIvJBTHce9CuTag3gXz6sE,18
|
|
4
4
|
layrz/sdk/entities/__init__.py,sha256=YsYX1AtWx7VprfFHIw1yrdo2hig6_h0WBeNpT_4Bnfw,461
|
|
@@ -50,10 +50,10 @@ layrz/sdk/entities/repcom/__init__.py,sha256=66jv2MenHXtrs9bDynTpp3YhmZLLNH-8yiH
|
|
|
50
50
|
layrz/sdk/entities/repcom/transaction.py,sha256=-qWWJLmSa9ZVCFJ1z73tbDDxJ2iz9dPHAjRDULbK56g,2653
|
|
51
51
|
layrz/sdk/entities/reports/__init__.py,sha256=nY6klvGq99yf6VP_cQRSwq0u0sTXQ501ho6MyhnlHtk,209
|
|
52
52
|
layrz/sdk/entities/reports/col.py,sha256=7xkzJHJE15BsTDtsILgIqegPhPmmMPcz8oOImb8hz68,2396
|
|
53
|
-
layrz/sdk/entities/reports/format.py,sha256=
|
|
53
|
+
layrz/sdk/entities/reports/format.py,sha256=g9TigTMIonoszqcIH-lteXI0tOvMl53AaDh1iISQ2fc,424
|
|
54
54
|
layrz/sdk/entities/reports/header.py,sha256=EsftzWVkpgeLXhtGHLUUnWU0xma6nj1fGGhr9PKDvDs,1427
|
|
55
55
|
layrz/sdk/entities/reports/page.py,sha256=HNijfo5fjgfVNi37c4dukLt986quT_wJstGIKUMbi1c,990
|
|
56
|
-
layrz/sdk/entities/reports/report.py,sha256=
|
|
56
|
+
layrz/sdk/entities/reports/report.py,sha256=1U415YGgizse8eZmWmMwFB8TVjN32teEOqYFhNr4UaM,4933
|
|
57
57
|
layrz/sdk/entities/reports/row.py,sha256=xDpBFCIb1ZY_Qc-Zs-9V0wDS-eGn1PmlJZpfiLeyZQE,1006
|
|
58
58
|
layrz/sdk/entities/telemetry/__init__.py,sha256=Vi8CcmGsU6L1beWf4tG7JAh4b6B8Y4jY3xRqxaDvjm8,77
|
|
59
59
|
layrz/sdk/entities/telemetry/message.py,sha256=-Pn02Gw-m4RkhzOrmmHfSj1onG-RmjmGy88mz4iBRgg,1208
|
|
@@ -62,9 +62,9 @@ layrz/sdk/helpers/__init__.py,sha256=h_C2SaMtW6seM5EQYjpyL1BLZOg5-ixqFzrejtS5IVQ
|
|
|
62
62
|
layrz/sdk/helpers/color.py,sha256=w0JM9QiPcbcG91C0hcRMelh8WBmkns2Fr5bT5AFNUYw,1049
|
|
63
63
|
layrz/sdk/lcl/__init__.py,sha256=ZgyOQN7o1Oagc04zJ5HRbzH6BPXXpYQaoiz_PRQsmRU,44
|
|
64
64
|
layrz/sdk/lcl/core.py,sha256=Ls1nIYEhrrC0Eb0FEvu_5XGuVyUGOW2RheL3eaih4Sw,19560
|
|
65
|
-
layrz_sdk-2.0.
|
|
66
|
-
layrz_sdk-2.0.
|
|
67
|
-
layrz_sdk-2.0.
|
|
68
|
-
layrz_sdk-2.0.
|
|
69
|
-
layrz_sdk-2.0.
|
|
70
|
-
layrz_sdk-2.0.
|
|
65
|
+
layrz_sdk-2.0.3.dist-info/LICENSE,sha256=vkKQGO9Zx8ROtjnsM_NU0Q9OWIVmsPdrR55pAzpf-Pc,1052
|
|
66
|
+
layrz_sdk-2.0.3.dist-info/METADATA,sha256=uwNF04xL2skKznWFHBtzgjzZ6R1MZkh3Unu_mDdJZVo,1288
|
|
67
|
+
layrz_sdk-2.0.3.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
|
|
68
|
+
layrz_sdk-2.0.3.dist-info/namespace_packages.txt,sha256=3T3zjRGOIP0hjf8rP2FlFk9qIO5l-UZirK4cAkD-VFg,6
|
|
69
|
+
layrz_sdk-2.0.3.dist-info/top_level.txt,sha256=3T3zjRGOIP0hjf8rP2FlFk9qIO5l-UZirK4cAkD-VFg,6
|
|
70
|
+
layrz_sdk-2.0.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|