layrz-sdk 2.0.1__tar.gz → 2.0.3__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 (76) hide show
  1. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/PKG-INFO +1 -1
  2. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/reports/format.py +2 -0
  3. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/reports/report.py +46 -1
  4. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz_sdk.egg-info/PKG-INFO +1 -1
  5. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/setup.py +1 -1
  6. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/LICENSE +0 -0
  7. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/README.md +0 -0
  8. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/__init__.py +0 -0
  9. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/__init__.py +0 -0
  10. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/__init__.py +0 -0
  11. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/broadcasts/__init__.py +0 -0
  12. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/broadcasts/request.py +0 -0
  13. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/broadcasts/response.py +0 -0
  14. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/broadcasts/result.py +0 -0
  15. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/broadcasts/service.py +0 -0
  16. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/broadcasts/status.py +0 -0
  17. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/cases/__init__.py +0 -0
  18. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/cases/case.py +0 -0
  19. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/cases/comment.py +0 -0
  20. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/cases/trigger.py +0 -0
  21. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/__init__.py +0 -0
  22. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/alignment.py +0 -0
  23. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/bar.py +0 -0
  24. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/column.py +0 -0
  25. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/configuration.py +0 -0
  26. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/data_type.py +0 -0
  27. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/exceptions.py +0 -0
  28. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/html.py +0 -0
  29. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/line.py +0 -0
  30. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/map.py +0 -0
  31. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/number.py +0 -0
  32. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/pie.py +0 -0
  33. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/radar.py +0 -0
  34. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/radial_bar.py +0 -0
  35. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/scatter.py +0 -0
  36. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/serie.py +0 -0
  37. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/serie_type.py +0 -0
  38. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/table.py +0 -0
  39. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/charts/timeline.py +0 -0
  40. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/checkpoints/__init__.py +0 -0
  41. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/checkpoints/checkpoint.py +0 -0
  42. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/checkpoints/geofence.py +0 -0
  43. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/checkpoints/waypoint.py +0 -0
  44. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/events/__init__.py +0 -0
  45. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/events/event.py +0 -0
  46. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/formatting/__init__.py +0 -0
  47. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/formatting/text_align.py +0 -0
  48. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/general/__init__.py +0 -0
  49. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/general/asset.py +0 -0
  50. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/general/asset_operation_mode.py +0 -0
  51. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/general/custom_field.py +0 -0
  52. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/general/device.py +0 -0
  53. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/general/sensor.py +0 -0
  54. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/general/user.py +0 -0
  55. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/repcom/__init__.py +0 -0
  56. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/repcom/transaction.py +0 -0
  57. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/reports/__init__.py +0 -0
  58. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/reports/col.py +0 -0
  59. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/reports/header.py +0 -0
  60. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/reports/page.py +0 -0
  61. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/reports/row.py +0 -0
  62. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/telemetry/__init__.py +0 -0
  63. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/telemetry/message.py +0 -0
  64. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/entities/telemetry/position.py +0 -0
  65. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/helpers/__init__.py +0 -0
  66. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/helpers/color.py +0 -0
  67. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/lcl/__init__.py +0 -0
  68. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/lcl/core.py +0 -0
  69. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz/sdk/test.py +0 -0
  70. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz_sdk.egg-info/SOURCES.txt +0 -0
  71. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz_sdk.egg-info/dependency_links.txt +0 -0
  72. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz_sdk.egg-info/namespace_packages.txt +0 -0
  73. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz_sdk.egg-info/not-zip-safe +0 -0
  74. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz_sdk.egg-info/requires.txt +0 -0
  75. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/layrz_sdk.egg-info/top_level.txt +0 -0
  76. {layrz-sdk-2.0.1 → layrz-sdk-2.0.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: layrz-sdk
3
- Version: 2.0.1
3
+ Version: 2.0.3
4
4
  Summary: Layrz SDK
5
5
  Home-page: https://gitlab.com/layrz-software/libraries/layrz-sdk
6
6
  Author: Layrz
@@ -1,11 +1,13 @@
1
1
  """ Report formats """
2
2
  from enum import Enum
3
3
 
4
+
4
5
  class ReportFormat(Enum):
5
6
  """
6
7
  Report format definition.
7
8
  """
8
9
  MICROSOFT_EXCEL = 'MICROSOFT_EXCEL'
10
+ JSON = 'JSON'
9
11
 
10
12
  @property
11
13
  def __readable(self):
@@ -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({'num_format': f'"{cell.currency_symbol}" * #,##0.00;[Red]"{cell.currency_symbol}" * #,##0.00'})
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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: layrz-sdk
3
- Version: 2.0.1
3
+ Version: 2.0.3
4
4
  Summary: Layrz SDK
5
5
  Home-page: https://gitlab.com/layrz-software/libraries/layrz-sdk
6
6
  Author: Layrz
@@ -17,7 +17,7 @@ def long_description():
17
17
 
18
18
  setuptools.setup(
19
19
  name='layrz-sdk',
20
- version='2.0.1',
20
+ version='2.0.3',
21
21
  author='Layrz',
22
22
  author_email='software@layrz.com',
23
23
  url='https://gitlab.com/layrz-software/libraries/layrz-sdk',
File without changes
File without changes
File without changes
File without changes
File without changes