fix version specific repre info in loader

This commit is contained in:
Jakub Trllo 2022-08-23 16:38:45 +02:00
parent 4062bf56f3
commit fce4e6e3d8

View file

@ -272,7 +272,7 @@ class SubsetsModel(TreeModel, BaseRepresentationModel):
# update availability on active site when version changes
if self.sync_server.enabled and version_doc:
repre_info = list(
repres_info = list(
self.sync_server.get_repre_info_for_versions(
project_name,
[version_doc["_id"]],
@ -280,9 +280,9 @@ class SubsetsModel(TreeModel, BaseRepresentationModel):
self.remote_site
)
)
if repre_info:
if repres_info:
version_doc["data"].update(
self._get_repre_dict(repre_info[0]))
self._get_repre_dict(repres_info[0]))
self.set_version(index, version_doc)
@ -474,29 +474,34 @@ class SubsetsModel(TreeModel, BaseRepresentationModel):
last_versions_by_subset_id[subset_id] = hero_version
repre_info = {}
repre_info_by_version_id = {}
if self.sync_server.enabled:
version_ids = set()
versions_by_id = {}
for _subset_id, doc in last_versions_by_subset_id.items():
version_ids.add(doc["_id"])
versions_by_id[doc["_id"]] = doc
repres = self.sync_server.get_repre_info_for_versions(
repres_info = self.sync_server.get_repre_info_for_versions(
project_name,
list(version_ids), self.active_site, self.remote_site
list(versions_by_id.keys()),
self.active_site,
self.remote_site
)
for repre in repres:
for repre_info in repres_info:
if self._doc_fetching_stop:
return
version_id = repre_info["_id"]
doc = versions_by_id[version_id]
doc["active_provider"] = self.active_provider
doc["remote_provider"] = self.remote_provider
repre_info[repre["_id"]] = repre
repre_info_by_version_id[version_id] = repre_info
self._doc_payload = {
"asset_docs_by_id": asset_docs_by_id,
"subset_docs_by_id": subset_docs_by_id,
"subset_families": subset_families,
"last_versions_by_subset_id": last_versions_by_subset_id,
"repre_info_by_version_id": repre_info
"repre_info_by_version_id": repre_info_by_version_id
}
self.doc_fetched.emit()