logs-py 4.0.7__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.
- LOGS/Auxiliary/CheckClassName.py +1075 -0
- LOGS/Auxiliary/Constants.py +99 -0
- LOGS/Auxiliary/CustomEntityClassGenerator.py +254 -0
- LOGS/Auxiliary/CustomFieldClassGenerator.py +115 -0
- LOGS/Auxiliary/CustomFieldValueTypeChecker.py +168 -0
- LOGS/Auxiliary/CustomSectionClassGenerator.py +113 -0
- LOGS/Auxiliary/CustomTypeClassGenerator.py +147 -0
- LOGS/Auxiliary/DateTimeConverter.py +66 -0
- LOGS/Auxiliary/Decorators.py +109 -0
- LOGS/Auxiliary/Exceptions.py +341 -0
- LOGS/Auxiliary/LOGSErrorResponse.py +89 -0
- LOGS/Auxiliary/MinimalModelGenerator.py +236 -0
- LOGS/Auxiliary/ParameterHelper.py +56 -0
- LOGS/Auxiliary/ReplaceMessage.py +13 -0
- LOGS/Auxiliary/Tools.py +432 -0
- LOGS/Auxiliary/__init__.py +15 -0
- LOGS/Converter/Conversion.py +248 -0
- LOGS/Converter/Converter.py +96 -0
- LOGS/Converter/ConverterParameter.py +88 -0
- LOGS/Converter/DateTimeRange.py +58 -0
- LOGS/Converter/ExportParameters.py +89 -0
- LOGS/Converter/__init__.py +13 -0
- LOGS/Entities/Attachment.py +84 -0
- LOGS/Entities/AttachmentMinimal.py +8 -0
- LOGS/Entities/AttachmentRequestParameter.py +42 -0
- LOGS/Entities/Attachments.py +53 -0
- LOGS/Entities/AutoloadFileInfo.py +12 -0
- LOGS/Entities/AutoloadStatusError.py +7 -0
- LOGS/Entities/AxisNaming.py +33 -0
- LOGS/Entities/AxisZoom.py +33 -0
- LOGS/Entities/Bridge.py +165 -0
- LOGS/Entities/BridgeClientInfo.py +93 -0
- LOGS/Entities/BridgeMinimal.py +8 -0
- LOGS/Entities/BridgeRequestParameter.py +49 -0
- LOGS/Entities/BridgeType.py +7 -0
- LOGS/Entities/Bridges.py +12 -0
- LOGS/Entities/CustomField.py +243 -0
- LOGS/Entities/CustomFieldMinimal.py +8 -0
- LOGS/Entities/CustomFieldModels.py +111 -0
- LOGS/Entities/CustomFieldRequestParameter.py +69 -0
- LOGS/Entities/CustomFieldSearchQuery.py +40 -0
- LOGS/Entities/CustomFields.py +12 -0
- LOGS/Entities/CustomType.py +212 -0
- LOGS/Entities/CustomTypeMinimal.py +8 -0
- LOGS/Entities/CustomTypeRequestParameter.py +60 -0
- LOGS/Entities/CustomTypeSection.py +63 -0
- LOGS/Entities/CustomTypes.py +12 -0
- LOGS/Entities/DataFormat.py +97 -0
- LOGS/Entities/DataFormatInstrument.py +18 -0
- LOGS/Entities/DataFormatInstrumentMinimal.py +8 -0
- LOGS/Entities/DataFormatInstrumentRequestParameter.py +17 -0
- LOGS/Entities/DataFormatInstruments.py +16 -0
- LOGS/Entities/DataFormatMinimal.py +18 -0
- LOGS/Entities/DataFormatRequestParameter.py +21 -0
- LOGS/Entities/DataFormats.py +12 -0
- LOGS/Entities/DataSource.py +218 -0
- LOGS/Entities/DataSourceConnectionStatus.py +12 -0
- LOGS/Entities/DataSourceMinimal.py +8 -0
- LOGS/Entities/DataSourceRequestParameter.py +57 -0
- LOGS/Entities/DataSourceStatus.py +108 -0
- LOGS/Entities/DataSourceStatusIterator.py +16 -0
- LOGS/Entities/DataSourceStatusRequestParameter.py +31 -0
- LOGS/Entities/DataSources.py +12 -0
- LOGS/Entities/Dataset.py +439 -0
- LOGS/Entities/DatasetBase.py +196 -0
- LOGS/Entities/DatasetCreator.py +148 -0
- LOGS/Entities/DatasetInfo.py +147 -0
- LOGS/Entities/DatasetMatchTypes.py +157 -0
- LOGS/Entities/DatasetMatching.py +196 -0
- LOGS/Entities/DatasetMinimal.py +8 -0
- LOGS/Entities/DatasetModels.py +33 -0
- LOGS/Entities/DatasetRequestParameter.py +92 -0
- LOGS/Entities/DatasetTemplate.py +23 -0
- LOGS/Entities/DatasetUploadParameter.py +14 -0
- LOGS/Entities/Datasets.py +142 -0
- LOGS/Entities/Datatrack.py +179 -0
- LOGS/Entities/DatatrackFormattedTable.py +25 -0
- LOGS/Entities/DatatrackGeneric.py +34 -0
- LOGS/Entities/DatatrackImage.py +25 -0
- LOGS/Entities/DatatrackNumericArray.py +30 -0
- LOGS/Entities/DatatrackNumericMatrix.py +98 -0
- LOGS/Entities/Entities.py +71 -0
- LOGS/Entities/EntitiesRequestParameter.py +18 -0
- LOGS/Entities/EntityOriginWriteModelWithId.py +15 -0
- LOGS/Entities/FileEntry.py +138 -0
- LOGS/Entities/FileExcludePattern.py +8 -0
- LOGS/Entities/FormatMetaData.py +56 -0
- LOGS/Entities/FormattedTable/DatatypeFormattedTable.py +135 -0
- LOGS/Entities/FormattedTable/DatatypeFormattedTableCell.py +108 -0
- LOGS/Entities/FormattedTable/DatatypeFormattedTableSettings.py +11 -0
- LOGS/Entities/FormattedTable/__init__.py +9 -0
- LOGS/Entities/HierarchyLeaf.py +15 -0
- LOGS/Entities/HierarchyNode.py +40 -0
- LOGS/Entities/ILiteraryTypedEntity.py +19 -0
- LOGS/Entities/InventoryItem.py +102 -0
- LOGS/Entities/InventoryItemMinimal.py +25 -0
- LOGS/Entities/InventoryItemRequestParameter.py +58 -0
- LOGS/Entities/InventoryItems.py +12 -0
- LOGS/Entities/LabNotebook.py +33 -0
- LOGS/Entities/LabNotebookEntries.py +16 -0
- LOGS/Entities/LabNotebookEntry.py +106 -0
- LOGS/Entities/LabNotebookEntryContent/BasicAttribute.py +15 -0
- LOGS/Entities/LabNotebookEntryContent/EntityAttribute.py +85 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentBlockquote.py +13 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentBulletList.py +17 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentCallout.py +40 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentContentPlaceholderNode.py +31 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentConverter.py +207 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentDocument.py +8 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentEntity.py +13 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentEntityMention.py +31 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentHeading.py +33 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentHorizontalRule.py +12 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentItem.py +37 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentListItem.py +49 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentOrderedList.py +31 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentParagraph.py +13 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentTable.py +17 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentTableCell.py +40 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentTableRow.py +8 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentTaskList.py +17 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentTaskListItem.py +31 -0
- LOGS/Entities/LabNotebookEntryContent/EntryContentText.py +33 -0
- LOGS/Entities/LabNotebookEntryContent/IEntryContentWithAttribute.py +23 -0
- LOGS/Entities/LabNotebookEntryContent/IEntryContentWithContent.py +38 -0
- LOGS/Entities/LabNotebookEntryContent/IEntryContentWithTextAttribute.py +16 -0
- LOGS/Entities/LabNotebookEntryContent/TextAttribute.py +46 -0
- LOGS/Entities/LabNotebookEntryContent/TextMarkAtributes.py +64 -0
- LOGS/Entities/LabNotebookEntryContent/TextMarkConverter.py +45 -0
- LOGS/Entities/LabNotebookEntryContent/TextMarks.py +71 -0
- LOGS/Entities/LabNotebookEntryContent/__init__.py +34 -0
- LOGS/Entities/LabNotebookEntryMinimal.py +8 -0
- LOGS/Entities/LabNotebookEntryRequestParameter.py +59 -0
- LOGS/Entities/LabNotebookExperiment.py +58 -0
- LOGS/Entities/LabNotebookExperimentMinimal.py +8 -0
- LOGS/Entities/LabNotebookExperimentRequestParameter.py +52 -0
- LOGS/Entities/LabNotebookExperiments.py +16 -0
- LOGS/Entities/LabNotebookMinimal.py +8 -0
- LOGS/Entities/LabNotebookModels.py +14 -0
- LOGS/Entities/LabNotebookRequestParameter.py +42 -0
- LOGS/Entities/LabNotebookTemplate.py +42 -0
- LOGS/Entities/LabNotebookTemplateMinimal.py +8 -0
- LOGS/Entities/LabNotebookTemplateRequestParameter.py +38 -0
- LOGS/Entities/LabNotebookTemplates.py +16 -0
- LOGS/Entities/LabNotebooks.py +12 -0
- LOGS/Entities/Method.py +66 -0
- LOGS/Entities/MethodMinimal.py +8 -0
- LOGS/Entities/MethodRequestParameter.py +16 -0
- LOGS/Entities/Methods.py +12 -0
- LOGS/Entities/Origin.py +53 -0
- LOGS/Entities/OriginMinimal.py +8 -0
- LOGS/Entities/OriginRequestParameter.py +28 -0
- LOGS/Entities/Origins.py +12 -0
- LOGS/Entities/ParserLog.py +49 -0
- LOGS/Entities/Permission.py +9 -0
- LOGS/Entities/Person.py +145 -0
- LOGS/Entities/PersonCategory.py +12 -0
- LOGS/Entities/PersonMinimal.py +8 -0
- LOGS/Entities/PersonRequestParameter.py +58 -0
- LOGS/Entities/Persons.py +12 -0
- LOGS/Entities/Project.py +52 -0
- LOGS/Entities/ProjectMinimal.py +8 -0
- LOGS/Entities/ProjectPersonPermission.py +102 -0
- LOGS/Entities/ProjectRequestParameter.py +58 -0
- LOGS/Entities/Projects.py +12 -0
- LOGS/Entities/Role.py +94 -0
- LOGS/Entities/RoleMinimal.py +8 -0
- LOGS/Entities/RoleRequestParameter.py +40 -0
- LOGS/Entities/Roles.py +12 -0
- LOGS/Entities/RunState.py +9 -0
- LOGS/Entities/Sample.py +53 -0
- LOGS/Entities/SampleMinimal.py +8 -0
- LOGS/Entities/SampleRequestParameter.py +54 -0
- LOGS/Entities/Samples.py +12 -0
- LOGS/Entities/SharedContent.py +87 -0
- LOGS/Entities/SharedContentMinimal.py +8 -0
- LOGS/Entities/SharedContentRequestParameter.py +38 -0
- LOGS/Entities/SharedContents.py +12 -0
- LOGS/Entities/Signature.py +60 -0
- LOGS/Entities/Track.py +93 -0
- LOGS/Entities/TrackData.py +20 -0
- LOGS/Entities/TrackImage.py +21 -0
- LOGS/Entities/TrackImageData.py +20 -0
- LOGS/Entities/TrackMatrix.py +28 -0
- LOGS/Entities/TrackMatrixData.py +22 -0
- LOGS/Entities/TrackSettings.py +55 -0
- LOGS/Entities/TrackTable.py +21 -0
- LOGS/Entities/TrackTableData.py +22 -0
- LOGS/Entities/TrackXY.py +40 -0
- LOGS/Entities/TrackXYComplex.py +51 -0
- LOGS/Entities/TrackXYComplexData.py +50 -0
- LOGS/Entities/TrackXYData.py +31 -0
- LOGS/Entities/Vendor.py +40 -0
- LOGS/Entities/VendorMinimal.py +8 -0
- LOGS/Entities/VendorRequestParameter.py +17 -0
- LOGS/Entities/Vendors.py +12 -0
- LOGS/Entities/__init__.py +118 -0
- LOGS/Entity/ConnectedEntity.py +170 -0
- LOGS/Entity/Entity.py +203 -0
- LOGS/Entity/EntityConnector.py +70 -0
- LOGS/Entity/EntityIterator.py +263 -0
- LOGS/Entity/EntityMinimal.py +141 -0
- LOGS/Entity/EntityMinimalWithIntId.py +36 -0
- LOGS/Entity/EntityMinimalWithStrId.py +36 -0
- LOGS/Entity/EntityMinimalWithType.py +47 -0
- LOGS/Entity/EntityRequestParameter.py +104 -0
- LOGS/Entity/EntitySortBy.py +69 -0
- LOGS/Entity/EntityWithIntId.py +26 -0
- LOGS/Entity/EntityWithStrId.py +26 -0
- LOGS/Entity/IGenericEntityOrderBy.py +55 -0
- LOGS/Entity/IdIterator.py +207 -0
- LOGS/Entity/SerializableContent.py +834 -0
- LOGS/Entity/__init__.py +23 -0
- LOGS/Interfaces/ICustomFieldValue.py +92 -0
- LOGS/Interfaces/ICustomSectionValue.py +161 -0
- LOGS/Interfaces/ICustomTypeValue.py +152 -0
- LOGS/Interfaces/ICustomValue.py +28 -0
- LOGS/Interfaces/IEntityInterface.py +7 -0
- LOGS/Interfaces/IEntryRecord.py +57 -0
- LOGS/Interfaces/IHierarchicalEntity.py +41 -0
- LOGS/Interfaces/IHierarchyType.py +63 -0
- LOGS/Interfaces/ILockableEntity.py +52 -0
- LOGS/Interfaces/IModificationRecord.py +56 -0
- LOGS/Interfaces/INamedEntity.py +25 -0
- LOGS/Interfaces/IOwnedEntity.py +27 -0
- LOGS/Interfaces/IPaginationRequest.py +11 -0
- LOGS/Interfaces/IPermissionedEntity.py +72 -0
- LOGS/Interfaces/IProjectBased.py +27 -0
- LOGS/Interfaces/ISessionedEntity.py +59 -0
- LOGS/Interfaces/ISignableEntity.py +49 -0
- LOGS/Interfaces/ISoftDeletable.py +28 -0
- LOGS/Interfaces/ITypedEntity.py +129 -0
- LOGS/Interfaces/IUniqueEntity.py +61 -0
- LOGS/Interfaces/IVersionedEntity.py +39 -0
- LOGS/Interfaces/__init__.py +7 -0
- LOGS/LOGS.py +1436 -0
- LOGS/LOGSConnection.py +647 -0
- LOGS/LOGSOptions.py +11 -0
- LOGS/Parameters/Color.py +92 -0
- LOGS/Parameters/ParameterBase.py +55 -0
- LOGS/Parameters/ParameterConverter.py +24 -0
- LOGS/Parameters/ParameterElement.py +99 -0
- LOGS/Parameters/ParameterList.py +52 -0
- LOGS/Parameters/ParameterTable.py +64 -0
- LOGS/Parameters/__init__.py +13 -0
- LOGS/ServerMetaData.py +120 -0
- LOGS/__init__.py +12 -0
- logs_py-4.0.7.dist-info/METADATA +51 -0
- logs_py-4.0.7.dist-info/RECORD +251 -0
- logs_py-4.0.7.dist-info/WHEEL +5 -0
- logs_py-4.0.7.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
from typing import Literal, Optional, Union
|
|
2
|
+
|
|
3
|
+
from LOGS.Entities.FormattedTable.DatatypeFormattedTableSettings import (
|
|
4
|
+
DatatypeFormattedTableSettings,
|
|
5
|
+
)
|
|
6
|
+
from LOGS.Entity.SerializableContent import SerializableContent
|
|
7
|
+
|
|
8
|
+
_VTypeType = Literal["int", "float", "str", "bool"]
|
|
9
|
+
_ValueType = Union[str, int, float, bool, None]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DatatypeFormattedTableCell(SerializableContent):
|
|
13
|
+
__vtype = {"int": int, "float": float, "str": str, "bool": bool}
|
|
14
|
+
|
|
15
|
+
_id: str = ""
|
|
16
|
+
_type: str = "formatted_table_cell"
|
|
17
|
+
_value: Optional[_ValueType] = None
|
|
18
|
+
_vtype: _VTypeType = "str"
|
|
19
|
+
_row: int = 0
|
|
20
|
+
_column: int = 0
|
|
21
|
+
_settings: Optional[DatatypeFormattedTableSettings] = None
|
|
22
|
+
|
|
23
|
+
@property
|
|
24
|
+
def type(self) -> str:
|
|
25
|
+
return self._type
|
|
26
|
+
|
|
27
|
+
@type.setter
|
|
28
|
+
def type(self, value):
|
|
29
|
+
self._type = value
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
def name(self) -> str:
|
|
33
|
+
return self._name
|
|
34
|
+
|
|
35
|
+
@name.setter
|
|
36
|
+
def name(self, value):
|
|
37
|
+
self._name = value
|
|
38
|
+
|
|
39
|
+
@property
|
|
40
|
+
def value(self) -> _ValueType:
|
|
41
|
+
return self._value
|
|
42
|
+
|
|
43
|
+
@value.setter
|
|
44
|
+
def value(self, value):
|
|
45
|
+
vtype = self.vtype if self.vtype else type(value).__name__
|
|
46
|
+
|
|
47
|
+
converter = self.__vtype.get(vtype, None)
|
|
48
|
+
if converter:
|
|
49
|
+
try:
|
|
50
|
+
self._value = converter(value)
|
|
51
|
+
self._vtype = vtype
|
|
52
|
+
except:
|
|
53
|
+
raise Exception(
|
|
54
|
+
"ERROR: could not convert "
|
|
55
|
+
+ "' value '"
|
|
56
|
+
+ value
|
|
57
|
+
+ "' to type '"
|
|
58
|
+
+ value
|
|
59
|
+
+ "'"
|
|
60
|
+
)
|
|
61
|
+
else:
|
|
62
|
+
raise Exception(
|
|
63
|
+
"Unknown vtype %a. (Expected one of '%s')"
|
|
64
|
+
% (vtype, ", ".join(self.__vtype.keys()))
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def vtype(self) -> _VTypeType:
|
|
69
|
+
return self._vtype
|
|
70
|
+
|
|
71
|
+
@vtype.setter
|
|
72
|
+
def vtype(self, value):
|
|
73
|
+
if value not in self.__vtype:
|
|
74
|
+
raise Exception(
|
|
75
|
+
"Unknown vtype %a. (Expected one of '%s')"
|
|
76
|
+
% (value, ", ".join(self.__vtype.keys()))
|
|
77
|
+
)
|
|
78
|
+
self._vtype = value
|
|
79
|
+
|
|
80
|
+
@property
|
|
81
|
+
def row(self) -> int:
|
|
82
|
+
return self._row
|
|
83
|
+
|
|
84
|
+
@row.setter
|
|
85
|
+
def row(self, value):
|
|
86
|
+
self._row = value
|
|
87
|
+
|
|
88
|
+
@property
|
|
89
|
+
def column(self) -> int:
|
|
90
|
+
return self._column
|
|
91
|
+
|
|
92
|
+
@column.setter
|
|
93
|
+
def column(self, value):
|
|
94
|
+
self._column = value
|
|
95
|
+
|
|
96
|
+
@property
|
|
97
|
+
def id(self) -> str:
|
|
98
|
+
return f"{self.row}x{self.column}"
|
|
99
|
+
|
|
100
|
+
@property
|
|
101
|
+
def settings(self) -> Optional[DatatypeFormattedTableSettings]:
|
|
102
|
+
return self._settings
|
|
103
|
+
|
|
104
|
+
@settings.setter
|
|
105
|
+
def settings(self, value):
|
|
106
|
+
self._settings = self.checkAndConvert(
|
|
107
|
+
value, fieldName="settings", fieldType=DatatypeFormattedTableSettings
|
|
108
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from typing import Dict, List, Optional
|
|
2
|
+
|
|
3
|
+
from LOGS.Entity.SerializableContent import SerializableClass
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class DatatypeFormattedTableSettings(SerializableClass):
|
|
7
|
+
_type: str = "formatted_table"
|
|
8
|
+
_name: Optional[str] = None
|
|
9
|
+
_id: str = ""
|
|
10
|
+
_cells: List[str] = []
|
|
11
|
+
_cellIds: Dict[str, str] = {}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from LOGS.Entity.SerializableContent import SerializableContent
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class HierarchyLeaf(SerializableContent):
|
|
7
|
+
_track: Optional[str] = None
|
|
8
|
+
|
|
9
|
+
@property
|
|
10
|
+
def track(self) -> Optional[str]:
|
|
11
|
+
return self._track
|
|
12
|
+
|
|
13
|
+
@track.setter
|
|
14
|
+
def track(self, value):
|
|
15
|
+
self._track = self.checkAndConvertNullable(value, str, "track")
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from typing import Optional, Sequence, Union
|
|
2
|
+
|
|
3
|
+
from LOGS.Entities.HierarchyLeaf import HierarchyLeaf
|
|
4
|
+
from LOGS.Entity.SerializableContent import SerializableContent
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class HierarchyNode(SerializableContent):
|
|
8
|
+
_name: Optional[str] = None
|
|
9
|
+
_content: Optional[Sequence[Union["HierarchyNode", HierarchyLeaf]]] = None
|
|
10
|
+
|
|
11
|
+
def _converter(self, value):
|
|
12
|
+
if isinstance(value, dict) and "type" in value:
|
|
13
|
+
type = value["type"]
|
|
14
|
+
if type == "node":
|
|
15
|
+
return self.checkAndConvert(value, HierarchyNode, "node.content")
|
|
16
|
+
elif type == "leaf":
|
|
17
|
+
return self.checkAndConvert(value, HierarchyLeaf, "leaf")
|
|
18
|
+
return None
|
|
19
|
+
|
|
20
|
+
@property
|
|
21
|
+
def name(self) -> Optional[str]:
|
|
22
|
+
return self._name
|
|
23
|
+
|
|
24
|
+
@name.setter
|
|
25
|
+
def name(self, value):
|
|
26
|
+
self._name = self.checkAndConvertNullable(value, str, "name")
|
|
27
|
+
|
|
28
|
+
@property
|
|
29
|
+
def content(self) -> Optional[Sequence[Union["HierarchyNode", HierarchyLeaf]]]:
|
|
30
|
+
return self._content
|
|
31
|
+
|
|
32
|
+
@content.setter
|
|
33
|
+
def content(self, value):
|
|
34
|
+
l = self.checkListAndConvertNullable(
|
|
35
|
+
value,
|
|
36
|
+
fieldType=HierarchyNode,
|
|
37
|
+
converter=self._converter,
|
|
38
|
+
fieldName="content",
|
|
39
|
+
)
|
|
40
|
+
self._content = [c for c in l if c]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from typing import Any, Optional, cast
|
|
2
|
+
|
|
3
|
+
from LOGS.Auxiliary.Exceptions import IllegalFieldValueException
|
|
4
|
+
from LOGS.Interfaces.IEntityInterface import IEntityInterface
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class ILiteraryTypedEntity(IEntityInterface):
|
|
8
|
+
_type: str = cast(Any, None)
|
|
9
|
+
|
|
10
|
+
@property
|
|
11
|
+
def type(self) -> Optional[str]:
|
|
12
|
+
return self._type
|
|
13
|
+
|
|
14
|
+
@type.setter
|
|
15
|
+
def type(self, value):
|
|
16
|
+
if value != self._type:
|
|
17
|
+
raise IllegalFieldValueException(
|
|
18
|
+
self, "type", value, f"Only value '{self._type}' allowed."
|
|
19
|
+
)
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
from typing import TYPE_CHECKING, Optional
|
|
2
|
+
|
|
3
|
+
from LOGS.Auxiliary.Decorators import Endpoint
|
|
4
|
+
from LOGS.Auxiliary.MinimalModelGenerator import MinimalModelGenerator
|
|
5
|
+
from LOGS.Entity.EntityWithIntId import IEntityWithIntId
|
|
6
|
+
from LOGS.Interfaces.IEntryRecord import IEntryRecord
|
|
7
|
+
from LOGS.Interfaces.IHierarchicalEntity import IHierarchicalEntity
|
|
8
|
+
from LOGS.Interfaces.ILockableEntity import ILockableEntity
|
|
9
|
+
from LOGS.Interfaces.IModificationRecord import IModificationRecord
|
|
10
|
+
from LOGS.Interfaces.INamedEntity import INamedEntity
|
|
11
|
+
from LOGS.Interfaces.IPermissionedEntity import IGenericPermissionEntity
|
|
12
|
+
from LOGS.Interfaces.IProjectBased import IProjectBased
|
|
13
|
+
from LOGS.Interfaces.ISignableEntity import ISignableEntity
|
|
14
|
+
from LOGS.Interfaces.ISoftDeletable import ISoftDeletable
|
|
15
|
+
from LOGS.Interfaces.ITypedEntity import ITypedEntity
|
|
16
|
+
from LOGS.Interfaces.IUniqueEntity import IUniqueEntity
|
|
17
|
+
|
|
18
|
+
if TYPE_CHECKING:
|
|
19
|
+
from LOGS.Entities.InventoryItemMinimal import InventoryItemMinimal
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@Endpoint("inventory_items")
|
|
23
|
+
class InventoryItem(
|
|
24
|
+
IEntityWithIntId,
|
|
25
|
+
IUniqueEntity,
|
|
26
|
+
INamedEntity,
|
|
27
|
+
IEntryRecord,
|
|
28
|
+
IModificationRecord,
|
|
29
|
+
ISoftDeletable,
|
|
30
|
+
ILockableEntity,
|
|
31
|
+
IGenericPermissionEntity,
|
|
32
|
+
ITypedEntity,
|
|
33
|
+
IProjectBased,
|
|
34
|
+
IHierarchicalEntity,
|
|
35
|
+
ISignableEntity,
|
|
36
|
+
):
|
|
37
|
+
|
|
38
|
+
_rootCustomType: Optional["InventoryItemMinimal"] = None
|
|
39
|
+
_isRootItem: Optional[bool] = None
|
|
40
|
+
_isHierarchyItem: Optional[bool] = None
|
|
41
|
+
|
|
42
|
+
_isDeletedViaHierarchy: Optional[bool] = None
|
|
43
|
+
_isLockedViaHierarchy: Optional[bool] = None
|
|
44
|
+
_isSignedViaHierarchy: Optional[bool] = None
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def rootCustomType(self) -> Optional["InventoryItemMinimal"]:
|
|
48
|
+
return self._rootCustomType
|
|
49
|
+
|
|
50
|
+
@rootCustomType.setter
|
|
51
|
+
def rootCustomType(self, value):
|
|
52
|
+
self._rootCustomType = MinimalModelGenerator.MinimalFromSingle(
|
|
53
|
+
value, "InventoryItemMinimal", "rootCustomType", self._getConnection()
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def isRootItem(self) -> Optional[bool]:
|
|
58
|
+
return self._isRootItem
|
|
59
|
+
|
|
60
|
+
@isRootItem.setter
|
|
61
|
+
def isRootItem(self, value):
|
|
62
|
+
self._isRootItem = self.checkAndConvertNullable(value, bool, "isRootItem")
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
def isHierarchyItem(self) -> Optional[bool]:
|
|
66
|
+
return self._isHierarchyItem
|
|
67
|
+
|
|
68
|
+
@isHierarchyItem.setter
|
|
69
|
+
def isHierarchyItem(self, value):
|
|
70
|
+
self._isHierarchyItem = self.checkAndConvertNullable(
|
|
71
|
+
value, bool, "isHierarchyItem"
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
@property
|
|
75
|
+
def isDeletedViaHierarchy(self) -> Optional[bool]:
|
|
76
|
+
return self._isDeletedViaHierarchy
|
|
77
|
+
|
|
78
|
+
@isDeletedViaHierarchy.setter
|
|
79
|
+
def isDeletedViaHierarchy(self, value):
|
|
80
|
+
self._isDeletedViaHierarchy = self.checkAndConvertNullable(
|
|
81
|
+
value, bool, "isDeletedViaHierarchy"
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def isLockedViaHierarchy(self) -> Optional[bool]:
|
|
86
|
+
return self._isLockedViaHierarchy
|
|
87
|
+
|
|
88
|
+
@isLockedViaHierarchy.setter
|
|
89
|
+
def isLockedViaHierarchy(self, value):
|
|
90
|
+
self._isLockedViaHierarchy = self.checkAndConvertNullable(
|
|
91
|
+
value, bool, "isLockedViaHierarchy"
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
@property
|
|
95
|
+
def isSignedViaHierarchy(self) -> Optional[bool]:
|
|
96
|
+
return self._isSignedViaHierarchy
|
|
97
|
+
|
|
98
|
+
@isSignedViaHierarchy.setter
|
|
99
|
+
def isSignedViaHierarchy(self, value):
|
|
100
|
+
self._isSignedViaHierarchy = self.checkAndConvertNullable(
|
|
101
|
+
value, bool, "isSignedViaHierarchy"
|
|
102
|
+
)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from LOGS.Auxiliary.Decorators import FullModel
|
|
4
|
+
from LOGS.Entities.InventoryItem import InventoryItem
|
|
5
|
+
from LOGS.Entity.EntityMinimalWithIntId import EntityMinimalWithIntId
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@FullModel(InventoryItem)
|
|
9
|
+
class InventoryItemMinimal(EntityMinimalWithIntId[InventoryItem]):
|
|
10
|
+
_inventoryName: Optional[str] = None
|
|
11
|
+
|
|
12
|
+
@property
|
|
13
|
+
def inventoryName(self) -> Optional[str]:
|
|
14
|
+
return self._inventoryName
|
|
15
|
+
|
|
16
|
+
@inventoryName.setter
|
|
17
|
+
def inventoryName(self, value):
|
|
18
|
+
self._inventoryName = self.checkAndConvert(
|
|
19
|
+
value, str, "inventoryName", allowNone=True
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
def __str__(self):
|
|
23
|
+
s = f" class:'{self.inventoryName}'" if self.inventoryName else ""
|
|
24
|
+
s += " name:'%s'" % (self.name if self.name else "")
|
|
25
|
+
return "<%s id:%s%s>" % (type(self).__name__, str(self.id), s)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from dataclasses import dataclass, field
|
|
2
|
+
from typing import List, Optional, Type, cast
|
|
3
|
+
|
|
4
|
+
from typing_extensions import Self
|
|
5
|
+
|
|
6
|
+
from LOGS.Entity.EntityRequestParameter import EntityRequestParameter
|
|
7
|
+
from LOGS.Entity.IGenericEntityOrderBy import (
|
|
8
|
+
IEntryRecordSortingOptions,
|
|
9
|
+
IGenericEntitySortingOptions,
|
|
10
|
+
IModificationRecordSortingOptions,
|
|
11
|
+
INamedEntitySortingOptions,
|
|
12
|
+
ITypedEntitySortingOptions,
|
|
13
|
+
)
|
|
14
|
+
from LOGS.Interfaces.IEntryRecord import IEntryRecordRequest
|
|
15
|
+
from LOGS.Interfaces.IHierarchicalEntity import IHierarchicalEntityRequest
|
|
16
|
+
from LOGS.Interfaces.ILockableEntity import ILockableEntityRequest
|
|
17
|
+
from LOGS.Interfaces.IModificationRecord import IModificationRecordRequest
|
|
18
|
+
from LOGS.Interfaces.IPaginationRequest import IPaginationRequest
|
|
19
|
+
from LOGS.Interfaces.IProjectBased import IProjectBasedRequest
|
|
20
|
+
from LOGS.Interfaces.ISignableEntity import ISignableEntityRequest
|
|
21
|
+
from LOGS.Interfaces.ISoftDeletable import ISoftDeletableRequest
|
|
22
|
+
from LOGS.Interfaces.ITypedEntity import ITypedEntityRequest
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class InventoryItemsSortingOptions(
|
|
26
|
+
IGenericEntitySortingOptions,
|
|
27
|
+
INamedEntitySortingOptions,
|
|
28
|
+
IEntryRecordSortingOptions,
|
|
29
|
+
IModificationRecordSortingOptions,
|
|
30
|
+
ITypedEntitySortingOptions,
|
|
31
|
+
):
|
|
32
|
+
INVENTORY_NAME: Self = cast(Self, "INVENTORY_NAME")
|
|
33
|
+
NUMBER_OF_ITEMS: Self = cast(Self, "NUMBER_OF_ITEMS")
|
|
34
|
+
LAYOUT: Self = cast(Self, "LAYOUT")
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@dataclass
|
|
38
|
+
class InventoryItemRequestParameter(
|
|
39
|
+
EntityRequestParameter[InventoryItemsSortingOptions],
|
|
40
|
+
IPaginationRequest,
|
|
41
|
+
IEntryRecordRequest,
|
|
42
|
+
IModificationRecordRequest,
|
|
43
|
+
ISoftDeletableRequest,
|
|
44
|
+
IHierarchicalEntityRequest,
|
|
45
|
+
IProjectBasedRequest,
|
|
46
|
+
ITypedEntityRequest,
|
|
47
|
+
ILockableEntityRequest,
|
|
48
|
+
ISignableEntityRequest,
|
|
49
|
+
):
|
|
50
|
+
_orderByType: Type[InventoryItemsSortingOptions] = field(
|
|
51
|
+
default=InventoryItemsSortingOptions, init=False
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
childrenOfParentIds: Optional[List[int]] = None
|
|
55
|
+
descendantsOfIds: Optional[List[int]] = None
|
|
56
|
+
excludeHierarchyChildren: Optional[bool] = None
|
|
57
|
+
isHierarchyRoot: Optional[bool] = None
|
|
58
|
+
inventoryItemIds: Optional[List[int]] = None
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from LOGS.Auxiliary.Decorators import Endpoint
|
|
2
|
+
from LOGS.Entities.InventoryItem import InventoryItem
|
|
3
|
+
from LOGS.Entities.InventoryItemRequestParameter import InventoryItemRequestParameter
|
|
4
|
+
from LOGS.Entity.EntityIterator import EntityIterator
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@Endpoint("inventory_items")
|
|
8
|
+
class InventoryItems(EntityIterator[InventoryItem, InventoryItemRequestParameter]):
|
|
9
|
+
"""LOGS connected InventoryItems iterator"""
|
|
10
|
+
|
|
11
|
+
_generatorType = InventoryItem
|
|
12
|
+
_parameterType = InventoryItemRequestParameter
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from LOGS.Auxiliary.Decorators import Endpoint
|
|
4
|
+
from LOGS.Entity.EntityWithIntId import IEntityWithIntId
|
|
5
|
+
from LOGS.Interfaces.ILockableEntity import ILockableEntity
|
|
6
|
+
from LOGS.Interfaces.INamedEntity import INamedEntity
|
|
7
|
+
from LOGS.Interfaces.IPermissionedEntity import IGenericPermissionEntity
|
|
8
|
+
from LOGS.Interfaces.IProjectBased import IProjectBased
|
|
9
|
+
from LOGS.Interfaces.ISignableEntity import ISignableEntity
|
|
10
|
+
from LOGS.Interfaces.IUniqueEntity import IUniqueEntity
|
|
11
|
+
from LOGS.Interfaces.IVersionedEntity import IVersionedEntity
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@Endpoint("lab_notebooks")
|
|
15
|
+
class LabNotebook(
|
|
16
|
+
IEntityWithIntId,
|
|
17
|
+
IUniqueEntity,
|
|
18
|
+
INamedEntity,
|
|
19
|
+
IVersionedEntity,
|
|
20
|
+
IProjectBased,
|
|
21
|
+
IGenericPermissionEntity,
|
|
22
|
+
ILockableEntity,
|
|
23
|
+
ISignableEntity,
|
|
24
|
+
):
|
|
25
|
+
_description: Optional[str] = None
|
|
26
|
+
|
|
27
|
+
@property
|
|
28
|
+
def description(self) -> Optional[str]:
|
|
29
|
+
return self._description
|
|
30
|
+
|
|
31
|
+
@description.setter
|
|
32
|
+
def description(self, value: str):
|
|
33
|
+
self._description = self.checkAndConvertNullable(value, str, "description")
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from LOGS.Auxiliary.Decorators import Endpoint
|
|
2
|
+
from LOGS.Entities.LabNotebookEntry import LabNotebookEntry
|
|
3
|
+
from LOGS.Entities.LabNotebookEntryRequestParameter import (
|
|
4
|
+
LabNotebookEntryRequestParameter,
|
|
5
|
+
)
|
|
6
|
+
from LOGS.Entity.EntityIterator import EntityIterator
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
@Endpoint("lab_notebook_entries")
|
|
10
|
+
class LabNotebookEntries(
|
|
11
|
+
EntityIterator[LabNotebookEntry, LabNotebookEntryRequestParameter]
|
|
12
|
+
):
|
|
13
|
+
"""LOGS connected LabNotebookEntry iterator"""
|
|
14
|
+
|
|
15
|
+
_generatorType = LabNotebookEntry
|
|
16
|
+
_parameterType = LabNotebookEntryRequestParameter
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from LOGS.Auxiliary.Decorators import Endpoint
|
|
5
|
+
from LOGS.Auxiliary.Exceptions import EntityFetchingException, EntityIncompleteException
|
|
6
|
+
from LOGS.Entities.LabNotebookEntryContent.EntryContentConverter import (
|
|
7
|
+
EntryContentConverter,
|
|
8
|
+
)
|
|
9
|
+
from LOGS.Entities.LabNotebookEntryContent.EntryContentDocument import (
|
|
10
|
+
EntryContentDocument,
|
|
11
|
+
)
|
|
12
|
+
from LOGS.Entity.EntityMinimalWithIntId import EntityMinimalWithIntId
|
|
13
|
+
from LOGS.Entity.EntityWithIntId import IEntityWithIntId
|
|
14
|
+
from LOGS.Interfaces.INamedEntity import INamedEntity
|
|
15
|
+
from LOGS.Interfaces.IPermissionedEntity import IGenericPermissionEntity
|
|
16
|
+
from LOGS.Interfaces.IUniqueEntity import IUniqueEntity
|
|
17
|
+
from LOGS.Interfaces.IVersionedEntity import IVersionedEntity
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@Endpoint("lab_notebook_entries")
|
|
21
|
+
class LabNotebookEntry(
|
|
22
|
+
IEntityWithIntId,
|
|
23
|
+
IUniqueEntity,
|
|
24
|
+
INamedEntity,
|
|
25
|
+
IVersionedEntity,
|
|
26
|
+
IGenericPermissionEntity,
|
|
27
|
+
):
|
|
28
|
+
_noContent: bool = True
|
|
29
|
+
|
|
30
|
+
_alias: Optional[str] = None
|
|
31
|
+
_labNotebook: Optional[EntityMinimalWithIntId] = None
|
|
32
|
+
_labNotebookExperiment: Optional[EntityMinimalWithIntId] = None
|
|
33
|
+
_entryDate: Optional[datetime] = None
|
|
34
|
+
_content: Optional[EntryContentDocument] = None
|
|
35
|
+
|
|
36
|
+
def fromDict(self, ref) -> None:
|
|
37
|
+
if isinstance(ref, dict):
|
|
38
|
+
if "name" in ref and ref["name"]:
|
|
39
|
+
ref["name"] = ref["name"].replace(" > ", "_")
|
|
40
|
+
|
|
41
|
+
super().fromDict(ref)
|
|
42
|
+
|
|
43
|
+
def fetchContent(self):
|
|
44
|
+
connection, endpoint, id = self._getConnectionData()
|
|
45
|
+
|
|
46
|
+
content, responseError = connection.getEndpoint(endpoint + [id, "content"])
|
|
47
|
+
if responseError:
|
|
48
|
+
raise EntityFetchingException(entity=self, responseError=responseError)
|
|
49
|
+
|
|
50
|
+
self.content = content
|
|
51
|
+
self._noContent = False
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def labNotebook(self) -> Optional[EntityMinimalWithIntId]:
|
|
55
|
+
return self._labNotebook
|
|
56
|
+
|
|
57
|
+
@labNotebook.setter
|
|
58
|
+
def labNotebook(self, value):
|
|
59
|
+
self._labNotebook = self.checkAndConvertNullable(
|
|
60
|
+
value, EntityMinimalWithIntId, "labNotebook"
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
def labNotebookExperiment(self) -> Optional[EntityMinimalWithIntId]:
|
|
65
|
+
return self._labNotebookExperiment
|
|
66
|
+
|
|
67
|
+
@labNotebookExperiment.setter
|
|
68
|
+
def labNotebookExperiment(self, value):
|
|
69
|
+
self._labNotebookExperiment = self.checkAndConvertNullable(
|
|
70
|
+
value, EntityMinimalWithIntId, "labNotebookExperiment"
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
@property
|
|
74
|
+
def entryDate(self) -> Optional[datetime]:
|
|
75
|
+
return self._entryDate
|
|
76
|
+
|
|
77
|
+
@entryDate.setter
|
|
78
|
+
def entryDate(self, value):
|
|
79
|
+
self._entryDate = self.checkAndConvertNullable(value, datetime, "entryDate")
|
|
80
|
+
|
|
81
|
+
@property
|
|
82
|
+
def content(self) -> Optional[EntryContentDocument]:
|
|
83
|
+
if self._noContent:
|
|
84
|
+
raise EntityIncompleteException(
|
|
85
|
+
self,
|
|
86
|
+
parameterName="content",
|
|
87
|
+
functionName=f"{self.fetchContent.__name__}()",
|
|
88
|
+
hasFetchFull=False,
|
|
89
|
+
)
|
|
90
|
+
return self._content
|
|
91
|
+
|
|
92
|
+
@content.setter
|
|
93
|
+
def content(self, value):
|
|
94
|
+
if value:
|
|
95
|
+
self._noContent = False
|
|
96
|
+
self._content = EntryContentConverter[EntryContentDocument].convert(
|
|
97
|
+
value, fieldName="content"
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
@property
|
|
101
|
+
def alias(self) -> Optional[str]:
|
|
102
|
+
return self._alias
|
|
103
|
+
|
|
104
|
+
@alias.setter
|
|
105
|
+
def alias(self, value):
|
|
106
|
+
self._alias = self.checkAndConvertNullable(value, str, "alias")
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from LOGS.Entity.SerializableContent import SerializableContent
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class BasicAttribute(SerializableContent):
|
|
7
|
+
_id: Optional[str] = None
|
|
8
|
+
|
|
9
|
+
@property
|
|
10
|
+
def id(self) -> Optional[str]:
|
|
11
|
+
return self._id
|
|
12
|
+
|
|
13
|
+
@id.setter
|
|
14
|
+
def id(self, value):
|
|
15
|
+
self._id = self.checkAndConvertNullable(value, str, "id")
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from LOGS.Entities.LabNotebookEntryContent.BasicAttribute import BasicAttribute
|
|
4
|
+
from LOGS.Entity.SerializableContent import SerializableClass
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class EntityAttributeSettings(SerializableClass):
|
|
8
|
+
showHeader: Optional[bool] = None
|
|
9
|
+
collapsible: Optional[bool] = None
|
|
10
|
+
defaultCollapsed: Optional[bool] = None
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class EntityAttributeAdditionalSettings(SerializableClass):
|
|
14
|
+
height: Optional[int] = None
|
|
15
|
+
showViewer: Optional[bool] = None
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class EntityAttribute(BasicAttribute):
|
|
19
|
+
_version: Optional[int] = None
|
|
20
|
+
_entityId: Optional[int] = None
|
|
21
|
+
_settings: Optional[EntityAttributeSettings] = None
|
|
22
|
+
_additionalSettings: Optional[EntityAttributeAdditionalSettings] = None
|
|
23
|
+
_entityUuid: Optional[str] = None
|
|
24
|
+
_entityTypeId: Optional[str] = None
|
|
25
|
+
_style: Optional[str] = None
|
|
26
|
+
|
|
27
|
+
@property
|
|
28
|
+
def style(self) -> Optional[str]:
|
|
29
|
+
return self._style
|
|
30
|
+
|
|
31
|
+
@style.setter
|
|
32
|
+
def style(self, value):
|
|
33
|
+
self._style = self.checkAndConvertNullable(value, str, "style")
|
|
34
|
+
|
|
35
|
+
@property
|
|
36
|
+
def entityTypeId(self) -> Optional[str]:
|
|
37
|
+
return self._entityTypeId
|
|
38
|
+
|
|
39
|
+
@entityTypeId.setter
|
|
40
|
+
def entityTypeId(self, value):
|
|
41
|
+
self._entityTypeId = self.checkAndConvertNullable(value, str, "entityTypeId")
|
|
42
|
+
|
|
43
|
+
@property
|
|
44
|
+
def entityUuid(self) -> Optional[str]:
|
|
45
|
+
return self._entityUuid
|
|
46
|
+
|
|
47
|
+
@entityUuid.setter
|
|
48
|
+
def entityUuid(self, value):
|
|
49
|
+
self._entityUuid = self.checkAndConvertNullable(value, str, "entityUuid")
|
|
50
|
+
|
|
51
|
+
@property
|
|
52
|
+
def version(self) -> Optional[int]:
|
|
53
|
+
return self._version
|
|
54
|
+
|
|
55
|
+
@version.setter
|
|
56
|
+
def version(self, value):
|
|
57
|
+
self._version = self.checkAndConvertNullable(value, int, "version")
|
|
58
|
+
|
|
59
|
+
@property
|
|
60
|
+
def entityId(self) -> Optional[int]:
|
|
61
|
+
return self._entityId
|
|
62
|
+
|
|
63
|
+
@entityId.setter
|
|
64
|
+
def entityId(self, value):
|
|
65
|
+
self._entityId = self.checkAndConvertNullable(value, int, "entityId")
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def settings(self) -> Optional[EntityAttributeSettings]:
|
|
69
|
+
return self._settings
|
|
70
|
+
|
|
71
|
+
@settings.setter
|
|
72
|
+
def settings(self, value):
|
|
73
|
+
self._settings = self.checkAndConvertNullable(
|
|
74
|
+
value, EntityAttributeSettings, "settings"
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
@property
|
|
78
|
+
def additionalSettings(self) -> Optional[EntityAttributeAdditionalSettings]:
|
|
79
|
+
return self._additionalSettings
|
|
80
|
+
|
|
81
|
+
@additionalSettings.setter
|
|
82
|
+
def additionalSettings(self, value):
|
|
83
|
+
self._additionalSettings = self.checkAndConvertNullable(
|
|
84
|
+
value, EntityAttributeAdditionalSettings, "additionalSettings"
|
|
85
|
+
)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from LOGS.Entities.LabNotebookEntryContent.EntryContentItem import EntryContentItem
|
|
2
|
+
from LOGS.Entities.LabNotebookEntryContent.IEntryContentWithContent import (
|
|
3
|
+
IEntryContentWithContent,
|
|
4
|
+
)
|
|
5
|
+
from LOGS.Entities.LabNotebookEntryContent.IEntryContentWithTextAttribute import (
|
|
6
|
+
IEntryContentWithTextAttribute,
|
|
7
|
+
)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class EntryContentBlockquote(
|
|
11
|
+
EntryContentItem, IEntryContentWithContent, IEntryContentWithTextAttribute
|
|
12
|
+
):
|
|
13
|
+
_type = "blockquote"
|