oarepo-runtime 1.5.111__tar.gz → 1.5.112__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.
- {oarepo_runtime-1.5.111/oarepo_runtime.egg-info → oarepo_runtime-1.5.112}/PKG-INFO +1 -1
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/relations/__init__.py +4 -1
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/relations/base.py +26 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/relations/pid_relation.py +18 -2
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112/oarepo_runtime.egg-info}/PKG-INFO +1 -1
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/setup.cfg +1 -1
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/LICENSE +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/MANIFEST.in +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/README.md +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/assets.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/base.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/cf.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/check.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/configuration.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/fixtures.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/index.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/permissions/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/permissions/base.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/permissions/evaluate.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/permissions/list.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/permissions/search.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/validate.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/asynchronous.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/catalogue.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/datastreams.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/errors.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/ext.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/fixtures.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/json.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/attachments.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/excel.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/json.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/service.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/yaml.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/semi_asynchronous.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/synchronous.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/transformers.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/types.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/utils.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/attachments_file.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/attachments_service.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/publish.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/service.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/utils.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/validation_errors.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/yaml.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/ext.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/ext_config.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/i18n/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/info/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/info/check.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/info/permissions/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/info/permissions/debug.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/info/views.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/profile.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/proxies.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/dumpers/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/dumpers/edtf_interval.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/dumpers/multilingual_dumper.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/entity_resolvers/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/entity_resolvers/proxies.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/mappings/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/mappings/rdm_parent_mapping.json +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/owners/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/owners/registry.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/relations/internal.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/relations/lookup.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/featured_file.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/has_draftcheck.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/icu.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/mapping.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/owner.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/record_status.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/selectors.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/synthetic.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/resources/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/resources/config.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/resources/file_resource.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/resources/json_serializer.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/resources/localized_ui_json_serializer.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/resources/resource.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/components.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/config/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/config/link_conditions.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/config/permissions_presets.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/config/service.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/custom_fields/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/custom_fields/mappings.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/entity/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/entity/config.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/entity/schema.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/entity/service.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/expansions/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/expansions/expandable_fields.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/expansions/service.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/base.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/date.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/enum.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/facet_groups_names.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/max_facet.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/nested_facet.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/params.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/year_histogram.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/files/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/files/components.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/files/service.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/generators.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/permissions/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/permissions/generators.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/records/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/records/links.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/relations/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/relations/components.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/relations/errors.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/relations/mapping.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/results.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/cf.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/i18n.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/i18n_ui.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/i18n_validation.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/marshmallow.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/marshmallow_to_json_schema.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/oneofschema.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/polymorphic.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/rdm.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/rdm_ui.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/ui.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/validation.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/search.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/service.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/tasks.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.mo +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/translations/cs/LC_MESSAGES/messages.po +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/translations/default_translations.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/translations/en/LC_MESSAGES/messages.mo +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/translations/en/LC_MESSAGES/messages.po +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/translations/messages.pot +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/uow.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/utils/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/utils/functools.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/utils/path.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime.egg-info/SOURCES.txt +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime.egg-info/dependency_links.txt +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime.egg-info/entry_points.txt +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime.egg-info/requires.txt +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime.egg-info/top_level.txt +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/pyproject.toml +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/setup.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/tests/marshmallow_to_json/__init__.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/tests/marshmallow_to_json/test_datacite_ui_schema.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/tests/marshmallow_to_json/test_simple_schema.py +0 -0
- {oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/tests/pkg_data/__init__.py +0 -0
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/relations/__init__.py
RENAMED
@@ -4,9 +4,10 @@ from .base import (
|
|
4
4
|
Relation,
|
5
5
|
RelationResult,
|
6
6
|
RelationsField,
|
7
|
+
UnstrictRelationResult
|
7
8
|
)
|
8
9
|
from .internal import InternalRelation
|
9
|
-
from .pid_relation import PIDRelation
|
10
|
+
from .pid_relation import PIDRelation, UnstrictPIDRelation
|
10
11
|
|
11
12
|
__all__ = (
|
12
13
|
"Relation",
|
@@ -16,4 +17,6 @@ __all__ = (
|
|
16
17
|
"RelationsField",
|
17
18
|
"InternalRelation",
|
18
19
|
"PIDRelation",
|
20
|
+
"UnstrictPIDRelation",
|
21
|
+
"UnstrictRelationResult"
|
19
22
|
)
|
@@ -173,6 +173,32 @@ class RelationResult:
|
|
173
173
|
|
174
174
|
def resolve(self, id_):
|
175
175
|
raise NotImplementedError("Please implement this method in your subclass")
|
176
|
+
class UnstrictRelationResult(RelationResult):
|
177
|
+
|
178
|
+
def _resolve_lookup_result(self, relation):
|
179
|
+
if not isinstance(relation.value, dict):
|
180
|
+
raise InvalidRelationValue(
|
181
|
+
f"Value at path {relation.path} must be dict, found {relation.value}"
|
182
|
+
)
|
183
|
+
relation_id = self._lookup_id(relation)
|
184
|
+
resolved_object = self.resolve(relation_id, relation.value)
|
185
|
+
if not resolved_object:
|
186
|
+
raise InvalidRelationValue(f"Could not resolve relation id {relation_id}.")
|
187
|
+
return resolved_object
|
188
|
+
|
189
|
+
def _dereference_one(self, relation: LookupResult):
|
190
|
+
"""Dereference a single object into a dict."""
|
191
|
+
if not self._needs_update_relation_value(relation):
|
192
|
+
return
|
193
|
+
|
194
|
+
data = relation.value
|
195
|
+
obj = self._resolve_lookup_result(relation)
|
196
|
+
if type(obj) is not dict:
|
197
|
+
self._get_dereferenced_value(data, obj, relation)
|
198
|
+
|
199
|
+
return data
|
200
|
+
|
201
|
+
|
176
202
|
|
177
203
|
|
178
204
|
class Relation:
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/relations/pid_relation.py
RENAMED
@@ -1,12 +1,13 @@
|
|
1
1
|
from invenio_db import db
|
2
2
|
|
3
3
|
from oarepo_runtime.services.relations.errors import InvalidRelationError
|
4
|
+
from sqlalchemy.exc import NoResultFound
|
4
5
|
|
5
|
-
from .base import Relation, RelationResult
|
6
|
+
from .base import Relation, RelationResult, UnstrictRelationResult
|
6
7
|
from .lookup import LookupResult
|
7
8
|
|
8
9
|
class PIDRelationResult(RelationResult):
|
9
|
-
def resolve(self, id_):
|
10
|
+
def resolve(self, id_, data = None):
|
10
11
|
"""Resolve the value using the record class."""
|
11
12
|
# TODO: handle permissions here !!!!!!
|
12
13
|
try:
|
@@ -65,6 +66,15 @@ class PIDRelationResult(RelationResult):
|
|
65
66
|
def _add_version_info(self, data, relation: LookupResult, resolved_object):
|
66
67
|
data["@v"] = f"{resolved_object.id}::{resolved_object.revision_id}"
|
67
68
|
|
69
|
+
class UnstrictPIDRelationResult(PIDRelationResult, UnstrictRelationResult):
|
70
|
+
|
71
|
+
def resolve(self, id_, data):
|
72
|
+
try:
|
73
|
+
return super().resolve(id_, data)
|
74
|
+
except InvalidRelationError as e:
|
75
|
+
if isinstance(e.__cause__, NoResultFound):
|
76
|
+
return data
|
77
|
+
raise
|
68
78
|
|
69
79
|
class PIDRelation(Relation):
|
70
80
|
result_cls = PIDRelationResult
|
@@ -73,6 +83,12 @@ class PIDRelation(Relation):
|
|
73
83
|
super().__init__(key=key, **kwargs)
|
74
84
|
self.pid_field = pid_field
|
75
85
|
|
86
|
+
class UnstrictPIDRelation(Relation):
|
87
|
+
result_cls = UnstrictPIDRelationResult
|
88
|
+
|
89
|
+
def __init__(self, key=None, pid_field=None, **kwargs):
|
90
|
+
super().__init__(key=key, **kwargs)
|
91
|
+
self.pid_field = pid_field
|
76
92
|
|
77
93
|
class MetadataRelationResult(PIDRelationResult):
|
78
94
|
def _dereference_one(self, relation: LookupResult):
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/permissions/__init__.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/cli/permissions/evaluate.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/asynchronous.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/attachments.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/excel.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/json.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/service.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/readers/yaml.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/semi_asynchronous.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/transformers.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/publish.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/service.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/utils.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/datastreams/writers/yaml.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/info/permissions/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/dumpers/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/dumpers/edtf_interval.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/entity_resolvers/proxies.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/mappings/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/relations/internal.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/relations/lookup.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/icu.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/mapping.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/owner.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/selectors.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/records/systemfields/synthetic.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/resources/json_serializer.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/config/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/config/link_conditions.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/custom_fields/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/custom_fields/mappings.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/entity/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/expansions/__init__.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/expansions/service.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/max_facet.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/nested_facet.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/facets/year_histogram.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/files/components.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/permissions/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/permissions/generators.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/records/__init__.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/relations/__init__.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/relations/components.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/relations/errors.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/relations/mapping.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/i18n_validation.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/marshmallow.py
RENAMED
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/oneofschema.py
RENAMED
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/polymorphic.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime/services/schema/validation.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/oarepo_runtime.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{oarepo_runtime-1.5.111 → oarepo_runtime-1.5.112}/tests/marshmallow_to_json/test_simple_schema.py
RENAMED
File without changes
|
File without changes
|