Skip to content

Commit f4c9963

Browse files
committed
MCProdInfo-CCDB: Possibility to force overwrite
1 parent 17810b6 commit f4c9963

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

MC/prodinfo/mcprodinfo_ccdb_upload.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,11 +145,12 @@ def upload_mcprodinfo_meta(base_url, user, run_number, lpm_prod_tag, keys, cert_
145145

146146
return response
147147

148-
def publish_MCProdInfo(mc_prod_info, ccdb_url = "https://alice-ccdb.cern.ch", username = "aliprod", include_meta_into_aod=False):
148+
def publish_MCProdInfo(mc_prod_info, ccdb_url = "https://alice-ccdb.cern.ch", username = "aliprod", force_overwrite=False, include_meta_into_aod=False):
149149
print("Publishing MCProdInfo")
150150

151151
# see if this already has meta-data uploaded, otherwise do nothing
152152
mc_prod_info_q = query_mcprodinfo(ccdb_url, username, mc_prod_info.RunNumber, mc_prod_info.LPMProductionTag)
153-
if mc_prod_info_q == None:
153+
if mc_prod_info_q == None or force_overwrite == True:
154154
# could make this depend on hash values in future
155155
upload_mcprodinfo_meta(ccdb_url, username, mc_prod_info.RunNumber, mc_prod_info.LPMProductionTag, dataclasses.asdict(mc_prod_info))
156+

MC/prodinfo/mcprodinfo_harvester.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def split_key(entry):
132132
return None, None, None, None
133133

134134

135-
def process_prod_tag(prod_tag, year="2025", ccdb_url=None, username=None):
135+
def process_prod_tag(prod_tag, year="2025", ccdb_url=None, username=None, overwrite=False):
136136
base_path = f"/alice/sim/{year}/{prod_tag}"
137137

138138
workflow_files = alien_find(base_path, "workflow.json")
@@ -184,7 +184,7 @@ def process_prod_tag(prod_tag, year="2025", ccdb_url=None, username=None):
184184
if info_min.OrbitsPerTF != info_max.OrbitsPerTF:
185185
print(f"❌ OrbitsPerTF mismatch for run {run_number}")
186186

187-
publish_MCProdInfo(info_min, username=username, ccdb_url=ccdb_url)
187+
publish_MCProdInfo(info_min, username=username, ccdb_url=ccdb_url, force_overwrite=overwrite)
188188
print (info_min)
189189

190190

@@ -196,9 +196,10 @@ def main():
196196
parser.add_argument("--ccdb", required=False, default="https://alice-ccdb.cern.ch", help="CCDB server URL")
197197
parser.add_argument("--username", required=False, help="GRID username (needs appropriate AliEn token initialized)")
198198
parser.add_argument("--year", default="2025", help="Production year (default: 2025)")
199+
parser.add_argument("--overwrite", action="store_true", help="Overwrite existing entries")
199200
args = parser.parse_args()
200201

201-
process_prod_tag(args.prod_tag, year=args.year, ccdb_url=args.ccdb, username=args.username)
202+
process_prod_tag(args.prod_tag, year=args.year, ccdb_url=args.ccdb, username=args.username, overwrite=args.overwrite)
202203

203204
if __name__ == "__main__":
204205
main()

0 commit comments

Comments
 (0)