splight-lib 3.2.2__tar.gz → 3.2.4__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.
Files changed (89) hide show
  1. {splight-lib-3.2.2 → splight-lib-3.2.4}/PKG-INFO +1 -1
  2. {splight-lib-3.2.2 → splight-lib-3.2.4}/setup.py +1 -1
  3. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/attribute.py +1 -0
  4. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/component.py +34 -11
  5. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib.egg-info/PKG-INFO +1 -1
  6. {splight-lib-3.2.2 → splight-lib-3.2.4}/LICENSE.txt +0 -0
  7. {splight-lib-3.2.2 → splight-lib-3.2.4}/README.md +0 -0
  8. {splight-lib-3.2.2 → splight-lib-3.2.4}/pyproject.toml +0 -0
  9. {splight-lib-3.2.2 → splight-lib-3.2.4}/setup.cfg +0 -0
  10. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/__init__.py +0 -0
  11. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/abstract/__init__.py +0 -0
  12. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/abstract/client.py +0 -0
  13. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/auth/__init__.py +0 -0
  14. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/auth/exceptions.py +0 -0
  15. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/auth/mac_auth.py +0 -0
  16. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/auth/token.py +0 -0
  17. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/__init__.py +0 -0
  18. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/communication/__init__.py +0 -0
  19. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/communication/abstract.py +0 -0
  20. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/communication/classmap.py +0 -0
  21. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/communication/exceptions.py +0 -0
  22. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/communication/local_client.py +0 -0
  23. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/communication/remote_client.py +0 -0
  24. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/database/__init__.py +0 -0
  25. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/database/abstract.py +0 -0
  26. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/database/builder.py +0 -0
  27. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/database/classmap.py +0 -0
  28. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/database/local_client.py +0 -0
  29. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/database/remote_client.py +0 -0
  30. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/datalake/__init__.py +0 -0
  31. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/datalake/abstract.py +0 -0
  32. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/datalake/builder.py +0 -0
  33. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/datalake/local_client.py +0 -0
  34. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/datalake/remote_client.py +0 -0
  35. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/exceptions.py +0 -0
  36. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/file_handler.py +0 -0
  37. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/filter.py +0 -0
  38. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/grpc/__init__.py +0 -0
  39. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/grpc/client.py +0 -0
  40. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/grpc/decorators.py +0 -0
  41. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/grpc/reflector.py +0 -0
  42. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/hub/__init__.py +0 -0
  43. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/hub/abstract.py +0 -0
  44. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/client/hub/client.py +0 -0
  45. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/communication/__init__.py +0 -0
  46. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/communication/event_handler.py +0 -0
  47. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/component/__init__.py +0 -0
  48. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/component/abstract.py +0 -0
  49. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/component/exceptions.py +0 -0
  50. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/component/log_streamer.py +0 -0
  51. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/component/spec.py +0 -0
  52. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/constants.py +0 -0
  53. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/encryption.py +0 -0
  54. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/execution.py +0 -0
  55. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/logging/__init__.py +0 -0
  56. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/logging/_internal.py +0 -0
  57. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/logging/component.py +0 -0
  58. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/logging/constants.py +0 -0
  59. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/logging/logging.py +0 -0
  60. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/__init__.py +0 -0
  61. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/alert.py +0 -0
  62. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/asset.py +0 -0
  63. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/base.py +0 -0
  64. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/communication.py +0 -0
  65. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/dashboard.py +0 -0
  66. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/data_address.py +0 -0
  67. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/event.py +0 -0
  68. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/exceptions.py +0 -0
  69. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/file.py +0 -0
  70. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/hub.py +0 -0
  71. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/native.py +0 -0
  72. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/query.py +0 -0
  73. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/secret.py +0 -0
  74. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/models/setpoint.py +0 -0
  75. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/restclient/__init__.py +0 -0
  76. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/restclient/client.py +0 -0
  77. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/restclient/exceptions.py +0 -0
  78. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/restclient/types.py +0 -0
  79. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/settings.py +0 -0
  80. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/testing/__init__.py +0 -0
  81. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/utils/__init__.py +0 -0
  82. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/utils/custom_model.py +0 -0
  83. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/utils/hub.py +0 -0
  84. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib/webhook.py +0 -0
  85. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib.egg-info/SOURCES.txt +0 -0
  86. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib.egg-info/dependency_links.txt +0 -0
  87. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib.egg-info/not-zip-safe +0 -0
  88. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib.egg-info/requires.txt +0 -0
  89. {splight-lib-3.2.2 → splight-lib-3.2.4}/splight_lib.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: splight-lib
3
- Version: 3.2.2
3
+ Version: 3.2.4
4
4
  Summary: Library for public use. Splight
5
5
  Home-page: UNKNOWN
6
6
  Author: Splight
@@ -14,7 +14,7 @@ test_requires = [
14
14
 
15
15
  setup(
16
16
  name="splight-lib",
17
- version="3.2.2",
17
+ version="3.2.4",
18
18
  author="Splight",
19
19
  author_email="factory@splight-ae.com",
20
20
  packages=find_packages(),
@@ -6,3 +6,4 @@ from splight_lib.models.base import SplightDatabaseBaseModel
6
6
  class Attribute(SplightDatabaseBaseModel):
7
7
  id: Optional[str]
8
8
  name: str
9
+ asset: str
@@ -3,7 +3,7 @@ import warnings
3
3
  from abc import ABC, abstractmethod
4
4
  from datetime import datetime
5
5
  from enum import auto
6
- from typing import Any, ClassVar, Dict, List, Optional, Type
6
+ from typing import Any, ClassVar, Dict, List, Optional, Type, Union
7
7
 
8
8
  from pydantic import AnyUrl, BaseModel, Field, PrivateAttr, create_model
9
9
  from strenum import LowercaseStrEnum
@@ -61,13 +61,13 @@ class InputParameter(Parameter):
61
61
  class DataAdress(Parameter):
62
62
  choices: None = None
63
63
  depends_on: None = None
64
- Required: bool = True
64
+ required: bool = True
65
65
  type: str = Field("DataAdress", const=True)
66
66
  value_type: str = "Number"
67
67
 
68
68
 
69
69
  class InputDataAdress(DataAdress):
70
- value: Dict[str, str]
70
+ value: Union[List[Dict[str, str]], Dict[str, str]]
71
71
 
72
72
 
73
73
  class OutputParameter(BaseModel):
@@ -226,8 +226,12 @@ def get_field_value(field: InputParameter):
226
226
  elif field.type in DATALAKE_TYPES:
227
227
  model_class = DATALAKE_TYPES[field.type]
228
228
  value = field.value.copy()
229
- value.update({"type": field.value_type})
230
- value = model_class.parse_obj(value)
229
+ value = value if multiple else [value]
230
+ for item in value:
231
+ item.update({"type": field.value_type})
232
+
233
+ value = [model_class.parse_obj(item) for item in value]
234
+ value = value[0] if not multiple else value
231
235
  else:
232
236
  value_as_list = (
233
237
  ComponentObject.list(id__in=field.value)
@@ -310,10 +314,19 @@ class AbstractObjectInstance(ABC, SplightDatabaseBaseModel):
310
314
  def _convert_to_input_data_addres(
311
315
  field: DataAdress, field_value: Any
312
316
  ) -> InputDataAdress:
313
- value = {
314
- "asset": field_value.asset,
315
- "attribute": field_value.attribute,
316
- }
317
+ if field.multiple:
318
+ value = [
319
+ {
320
+ "asset": item.asset,
321
+ "attribute": item.attribute,
322
+ }
323
+ for item in field_value
324
+ ]
325
+ else:
326
+ value = {
327
+ "asset": field_value.asset,
328
+ "attribute": field_value.attribute,
329
+ }
317
330
  parameter = field.dict()
318
331
  parameter.update({"value": value})
319
332
  return InputDataAdress.parse_obj(parameter)
@@ -518,12 +531,22 @@ class RoutineObjectInstance(AbstractObjectInstance):
518
531
 
519
532
  @classmethod
520
533
  def _create_input_model(cls, parameters: List[DataAdress]) -> Type:
521
- fields = {param.name: (DLDataAddress, ...) for param in parameters}
534
+ fields = {}
535
+ for field in parameters:
536
+ field_type = (
537
+ List[DLDataAddress] if field.multiple else DLDataAddress
538
+ )
539
+ fields.update({field.name: (field_type, ...)})
522
540
  return create_model("Input", **fields)
523
541
 
524
542
  @classmethod
525
543
  def _create_output_model(cls, parameters: List[DataAdress]) -> Type:
526
- fields = {param.name: (DLDataAddress, ...) for param in parameters}
544
+ fields = {}
545
+ for field in parameters:
546
+ field_type = (
547
+ List[DLDataAddress] if field.multiple else DLDataAddress
548
+ )
549
+ fields.update({field.name: (field_type, ...)})
527
550
  return create_model("Output", **fields)
528
551
 
529
552
  @classmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: splight-lib
3
- Version: 3.2.2
3
+ Version: 3.2.4
4
4
  Summary: Library for public use. Splight
5
5
  Home-page: UNKNOWN
6
6
  Author: Splight
File without changes
File without changes
File without changes
File without changes