diff --git a/utils/dbfixup.py b/utils/dbfixup.py index 976891e7..1d7ce43c 100644 --- a/utils/dbfixup.py +++ b/utils/dbfixup.py @@ -28,6 +28,30 @@ def add_zero_bits(tile_type): for line in sorted(new_lines): print(line, file=f) +def update_mask(mask_db, *src_dbs): + bits = set() + with open("%s/%s/mask_%s.db" % (os.getenv("XRAY_DATABASE_DIR"), os.getenv("XRAY_DATABASE"), mask_db), "r") as f: + for line in f: + line = line.split() + assert len(line) == 2 + assert line[0] == "bit" + bits.add(line[1]) + for src_db in src_dbs: + with open("%s/%s/segbits_%s.db" % (os.getenv("XRAY_DATABASE_DIR"), os.getenv("XRAY_DATABASE"), src_db), "r") as f: + for line in f: + line = line.split() + for bit in line[1:]: + if bit[0] != "!": + bits.add(bit) + with open("%s/%s/mask_%s.db" % (os.getenv("XRAY_DATABASE_DIR"), os.getenv("XRAY_DATABASE"), mask_db), "w") as f: + for bit in sorted(bits): + print("bit %s" % bit, file=f) + add_zero_bits("int_l") add_zero_bits("int_r") +update_mask("clbll_l", "clbll_l", "int_l") +update_mask("clbll_r", "clbll_r", "int_r") +update_mask("clblm_l", "clblm_l", "int_l") +update_mask("clblm_r", "clblm_r", "int_r") +