Skip to content

Commit 35bb566

Browse files
committed
use enrich_partial_rdf_with_imjoy_plugin from bioimageio.spec.partner
1 parent 527f18b commit 35bb566

File tree

1 file changed

+3
-34
lines changed

1 file changed

+3
-34
lines changed

scripts/utils.py

Lines changed: 3 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@
1919
)
2020
from bioimageio.spec.collection.v0_2.utils import resolve_collection_entries
2121
from bioimageio.spec.io_ import serialize_raw_resource_description
22-
from bioimageio.spec.partner.imjoy_plugin_parser import get_plugin_as_rdf
23-
from bioimageio.spec.shared import resolve_rdf_source
22+
from bioimageio.spec.partner.utils import enrich_partial_rdf_with_imjoy_plugin
2423

2524

2625
# todo: use MyYAML from bioimageio.spec. see comment below
@@ -194,36 +193,6 @@ def rec_sort(obj):
194193
return obj
195194

196195

197-
def enrich_partial_rdf_with_imjoy_plugin(partial_rdf: Dict[str, Any]) -> Dict[str, Any]:
198-
"""
199-
a (partial) rdf may have 'rdf_resource' or 'source' which resolve to rdf data that may be overwritten.
200-
Due to resolving imjoy plugins this is not done in bioimageio.spec.collection atm
201-
"""
202-
enriched_rdf = {}
203-
if "rdf_source" in partial_rdf:
204-
rdf_source = partial_rdf["rdf_source"]
205-
if isinstance(rdf_source, str) and rdf_source.split("?")[0].endswith(".imjoy.html"):
206-
# rdf_source is an imjoy plugin
207-
rdf_source = dict(get_plugin_as_rdf(rdf_source))
208-
209-
else:
210-
# rdf_source is an actual rdf
211-
if not isinstance(rdf_source, dict):
212-
rdf_source, rdf_source_name, rdf_source_root = resolve_rdf_source(rdf_source)
213-
rdf_source["root_path"] = rdf_source_root # enables remote source content to be resolved
214-
215-
assert isinstance(rdf_source, dict)
216-
enriched_rdf.update(rdf_source)
217-
218-
if "source" in partial_rdf:
219-
if partial_rdf["source"].split("?")[0].endswith(".imjoy.html"):
220-
rdf_from_source = get_plugin_as_rdf(partial_rdf["source"])
221-
enriched_rdf.update(rdf_from_source)
222-
223-
enriched_rdf.update(partial_rdf) # initial partial rdf overwrites fields from rdf_source or source
224-
return enriched_rdf
225-
226-
227196
def write_rdfs_for_resource(resource: dict, dist: Path, only_for_version_id: Optional[str] = None) -> List[str]:
228197
"""write updated version rdfs for the given resource to dist
229198
@@ -237,7 +206,7 @@ def write_rdfs_for_resource(resource: dict, dist: Path, only_for_version_id: Opt
237206
"""
238207
resource_id = resource["id"]
239208
updated_versions = []
240-
resource_info = enrich_partial_rdf_with_imjoy_plugin(resource)
209+
resource_info = enrich_partial_rdf_with_imjoy_plugin(resource, pathlib.Path())
241210
for version_info in resource["versions"]:
242211
version_id = version_info["version_id"]
243212
if (
@@ -248,7 +217,7 @@ def write_rdfs_for_resource(resource: dict, dist: Path, only_for_version_id: Opt
248217
):
249218
continue
250219

251-
version_info = enrich_partial_rdf_with_imjoy_plugin(version_info)
220+
version_info = enrich_partial_rdf_with_imjoy_plugin(version_info, pathlib.Path())
252221

253222
rdf = dict(resource_info) # rdf is based on resource info
254223
rdf.update(version_info) # version specific info overwrites resource info

0 commit comments

Comments
 (0)