From 7752e8dc75e983302a15ac46c4fd5e11c119263a Mon Sep 17 00:00:00 2001 From: Matthias Saimpert Date: Wed, 16 Oct 2024 22:29:14 +0200 Subject: [PATCH 1/3] sync the FE chip configs: delete all configs from current stage first (cherry picked from commit 1fceb3040cadefdc9a01ec1b93b9a0721bae6b8d) Co-authored-by: Matthias Saimpert --- viewer/pages/config.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/viewer/pages/config.py b/viewer/pages/config.py index a4cd292a5..d387a03d7 100644 --- a/viewer/pages/config.py +++ b/viewer/pages/config.py @@ -216,6 +216,34 @@ def sync_chip_configs(serial_number): code="START_SYNC_CHIP_CONFIGS", ) + # get current stage + cpt_doc = localdb.component.find_one({"serialNumber": serial_number}) + + ctype = cpt_doc.get("componentType") + if ctype != "module": + logger.warning(f"Not synchronizing configs for component of type {ctype}.") + return None + + qc_status_doc = localdb.QC.module.status.find_one( + {"component": str(cpt_doc.get("_id"))} + ) + stage = qc_status_doc.get("currentStage") + + # get fe chips sn + chips = [] + cprs = list( + localdb.childParentRelation.find({"parent": str(cpt_doc.get("_id"))}) + ) + for cpr in cprs: + subcpt = localdb.component.find_one({"_id": ObjectId(cpr.get("child"))}) + if subcpt.get("componentType") == "front-end_chip": + chips.append(subcpt.get("serialNumber")) + + # remove config of current stage for all chips + for chip in chips: + localdb.fe_configs.remove({"serialNumber": chip, "stage": stage}) + + # regenerate chip configs def download_done(future): clear_message({"_id": ticket_id}, forced=True) try: -- GitLab From 17332da6e986f8dd37ae4e895d340f9db5ae5460 Mon Sep 17 00:00:00 2001 From: Matthias Saimpert Date: Wed, 16 Oct 2024 22:32:33 +0200 Subject: [PATCH 2/3] sync the FE chip configs: switch to delete_many (cherry picked from commit 4bd4227df78c33e6cbc6573275e67000f79aeeb1) Co-authored-by: Matthias Saimpert --- viewer/pages/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/viewer/pages/config.py b/viewer/pages/config.py index d387a03d7..0f8ebc48c 100644 --- a/viewer/pages/config.py +++ b/viewer/pages/config.py @@ -241,7 +241,7 @@ def sync_chip_configs(serial_number): # remove config of current stage for all chips for chip in chips: - localdb.fe_configs.remove({"serialNumber": chip, "stage": stage}) + localdb.fe_configs.delete_many({"serialNumber": chip, "stage": stage}) # regenerate chip configs def download_done(future): -- GitLab From 5b835508ae1727fdfcafeebd6de07677518bae1f Mon Sep 17 00:00:00 2001 From: Matthias Saimpert Date: Thu, 31 Oct 2024 15:39:18 +0100 Subject: [PATCH 3/3] currentStage > stage migration --- viewer/pages/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/viewer/pages/config.py b/viewer/pages/config.py index 0f8ebc48c..8ade7df91 100644 --- a/viewer/pages/config.py +++ b/viewer/pages/config.py @@ -227,7 +227,7 @@ def sync_chip_configs(serial_number): qc_status_doc = localdb.QC.module.status.find_one( {"component": str(cpt_doc.get("_id"))} ) - stage = qc_status_doc.get("currentStage") + stage = qc_status_doc.get("stage") # get fe chips sn chips = [] -- GitLab