industrial-model 1.0.0__py3-none-any.whl → 1.0.1__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.
- industrial_model/cognite_adapters/sort_mapper.py +12 -2
- industrial_model/engines/_internal.py +6 -6
- industrial_model/models/entities.py +3 -3
- {industrial_model-1.0.0.dist-info → industrial_model-1.0.1.dist-info}/METADATA +1 -1
- {industrial_model-1.0.0.dist-info → industrial_model-1.0.1.dist-info}/RECORD +7 -7
- {industrial_model-1.0.0.dist-info → industrial_model-1.0.1.dist-info}/WHEEL +0 -0
- {industrial_model-1.0.0.dist-info → industrial_model-1.0.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from cognite.client.data_classes.data_modeling import InstanceSort, View
|
|
1
|
+
from cognite.client.data_classes.data_modeling import InstanceSort, MappedProperty, View
|
|
2
2
|
|
|
3
3
|
from industrial_model.cognite_adapters.utils import get_property_ref
|
|
4
4
|
from industrial_model.constants import SORT_DIRECTION
|
|
@@ -15,7 +15,17 @@ class SortMapper:
|
|
|
15
15
|
InstanceSort(
|
|
16
16
|
property=get_property_ref(column.property, root_view),
|
|
17
17
|
direction=direction,
|
|
18
|
-
nulls_first=
|
|
18
|
+
nulls_first=self._is_nulls_first(column, root_view, direction),
|
|
19
19
|
)
|
|
20
20
|
for column, direction in sort_clauses
|
|
21
21
|
]
|
|
22
|
+
|
|
23
|
+
def _is_nulls_first(
|
|
24
|
+
self, column: Column, root_view: View, direction: SORT_DIRECTION
|
|
25
|
+
) -> bool:
|
|
26
|
+
view_property = root_view.properties.get(column.property)
|
|
27
|
+
|
|
28
|
+
if isinstance(view_property, MappedProperty) and view_property.source:
|
|
29
|
+
return direction == "ascending"
|
|
30
|
+
|
|
31
|
+
return direction == "descending"
|
|
@@ -20,13 +20,13 @@ def generate_engine_params(
|
|
|
20
20
|
file_env_parsed = env_sub_template.substitute(dict(os.environ))
|
|
21
21
|
|
|
22
22
|
engine_config = yaml.safe_load(file_env_parsed)
|
|
23
|
-
assert isinstance(
|
|
24
|
-
|
|
25
|
-
)
|
|
23
|
+
assert isinstance(engine_config, dict), (
|
|
24
|
+
"Configuration file must contain a dictionary"
|
|
25
|
+
)
|
|
26
26
|
assert "cognite" in engine_config, "Configuration must contain 'cognite' section"
|
|
27
|
-
assert (
|
|
28
|
-
"data_model"
|
|
29
|
-
)
|
|
27
|
+
assert "data_model" in engine_config, (
|
|
28
|
+
"Configuration must contain 'data_model' section"
|
|
29
|
+
)
|
|
30
30
|
|
|
31
31
|
client = CogniteClient.load(engine_config["cognite"])
|
|
32
32
|
dm_id = DataModelId.model_validate(engine_config["data_model"])
|
|
@@ -73,9 +73,9 @@ class ViewInstance(InstanceId):
|
|
|
73
73
|
return cls.view_config.get("view_external_id") or cls.__name__
|
|
74
74
|
|
|
75
75
|
def get_edge_metadata(self, property: Column | str | Any) -> list[EdgeContainer]:
|
|
76
|
-
assert isinstance(
|
|
77
|
-
property
|
|
78
|
-
)
|
|
76
|
+
assert isinstance(property, Column | str), (
|
|
77
|
+
f"Expected property to be Column, or str, got {type(property).__name__}"
|
|
78
|
+
)
|
|
79
79
|
identifier = property.property if isinstance(property, Column) else property
|
|
80
80
|
|
|
81
81
|
edge_map_key = self.get_field_alias(identifier) or self.get_field_name(
|
|
@@ -11,17 +11,17 @@ industrial_model/cognite_adapters/optimizer.py,sha256=-iorsO-yOe8wuMNBMsV1KjAmC3
|
|
|
11
11
|
industrial_model/cognite_adapters/query_mapper.py,sha256=tpRdrEW6i0NKy5h6bYrIIP96nanPSokK-s5-1d0PES8,6597
|
|
12
12
|
industrial_model/cognite_adapters/query_result_mapper.py,sha256=KaBqYr5l1t8sQMxEoX_F3J2prypKIPaDJxSzGF_fMB8,10203
|
|
13
13
|
industrial_model/cognite_adapters/search_mapper.py,sha256=zRe5FgucTWHX2VVbh3iLmzM7FmUAFhJG5t42gXnnJrE,1587
|
|
14
|
-
industrial_model/cognite_adapters/sort_mapper.py,sha256=
|
|
14
|
+
industrial_model/cognite_adapters/sort_mapper.py,sha256=EQ2Xpfdet8jN6EK0rEZ3IA8L7sPXWVX1MA9kQg4LdXs,1083
|
|
15
15
|
industrial_model/cognite_adapters/upsert_mapper.py,sha256=jzelnmECFcuVkQY7dgZG-xL19yD9kxtYvx827InIMO8,4951
|
|
16
16
|
industrial_model/cognite_adapters/utils.py,sha256=-9NUG84r49cKvmmzoUinxNF1zhHIlmoWFypUCD_WTeM,4800
|
|
17
17
|
industrial_model/cognite_adapters/view_mapper.py,sha256=9nWx0P7h8TMthLcOF5GZ4yC4UOndVuUo_s-Oz5nSAyM,1276
|
|
18
18
|
industrial_model/engines/__init__.py,sha256=7aGHrUm2MxIq39vR8h0xu3i1zNOuT9H9U-q4lV3nErQ,102
|
|
19
|
-
industrial_model/engines/_internal.py,sha256=
|
|
19
|
+
industrial_model/engines/_internal.py,sha256=a3fdqqP3pVTPkfYIF5W_bNSQiIps3MA4xiGC3HOIYhI,1092
|
|
20
20
|
industrial_model/engines/async_engine.py,sha256=BSuI1vjUsjHeYSvxZM4bK2cEw-WutzjlCUFU0Nnu2-M,2139
|
|
21
21
|
industrial_model/engines/engine.py,sha256=icpYh-zgzMM_jsV5AytXoXz-nb2nYKug6qkekeMAQQw,4621
|
|
22
22
|
industrial_model/models/__init__.py,sha256=g8oa95iG6c22A-vTYhiZKSYa6RG2C7Ht1dpn5_HfXxs,796
|
|
23
23
|
industrial_model/models/base.py,sha256=qi44m0KW9KuXKTSJqSLea1poErBeAqm6Hv08VdRYHkU,2023
|
|
24
|
-
industrial_model/models/entities.py,sha256
|
|
24
|
+
industrial_model/models/entities.py,sha256=-Jf7bNCijbS3_wZohlog3bRsAkXvkUeAQW9DamJqGFo,5700
|
|
25
25
|
industrial_model/models/schemas.py,sha256=EoLK9GYdS-0DQ98myTP3wOU9YpWIJOfDSLOYZUy3xEY,4559
|
|
26
26
|
industrial_model/models/utils.py,sha256=MFS8OyCfh4cYPY_R66-mUaCauQfQy0vd558Rw0tiGDc,1786
|
|
27
27
|
industrial_model/queries/__init__.py,sha256=lA83zOxMRgBgkseWJgK9kCr1vD8D8iSWs9NGGRnoYKk,355
|
|
@@ -30,7 +30,7 @@ industrial_model/queries/params.py,sha256=50qY5BO5onLsXorhcv-7qCKhJaMO94UzhKLCmZ
|
|
|
30
30
|
industrial_model/queries/utils.py,sha256=uP6PLh9IVHDK6J8x444zHWPmyV4PkxdLO-PMc6qWItc,1505
|
|
31
31
|
industrial_model/statements/__init__.py,sha256=3Et9PM7AMbIS7Fh9051Q0u3qUpX6588d1yuNrvdd4wI,5429
|
|
32
32
|
industrial_model/statements/expressions.py,sha256=4ZZOcZroI5-4xRw4PXIRlufi0ARndE5zSbbxLDpR2Ec,4816
|
|
33
|
-
industrial_model-1.0.
|
|
34
|
-
industrial_model-1.0.
|
|
35
|
-
industrial_model-1.0.
|
|
36
|
-
industrial_model-1.0.
|
|
33
|
+
industrial_model-1.0.1.dist-info/METADATA,sha256=aVJIFKqwM1oLsn2s2TAwq15sE6UCYMJyhUi5GyssbMw,7680
|
|
34
|
+
industrial_model-1.0.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
35
|
+
industrial_model-1.0.1.dist-info/licenses/LICENSE,sha256=BCHCZ1Qo7m4YvAEIQqtVBI3NebFJdZ8_7m_cxInIlN0,4934
|
|
36
|
+
industrial_model-1.0.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|