|
|
|
from argparse import ArgumentParser |
|
from string import Template |
|
|
|
|
|
def main(file_path, substitutions, in_place, participant_ids): |
|
with open(file_path) as f: |
|
pbtxt = Template(f.read()) |
|
|
|
sub_dict = {"max_queue_size": 0} |
|
sub_dict["participant_ids"] = participant_ids |
|
for sub in substitutions.split(","): |
|
key, value = sub.split(":") |
|
sub_dict[key] = value |
|
|
|
pbtxt = pbtxt.safe_substitute(sub_dict) |
|
|
|
if in_place: |
|
with open(file_path, "w") as f: |
|
f.write(pbtxt) |
|
else: |
|
print(pbtxt) |
|
|
|
|
|
if __name__ == "__main__": |
|
parser = ArgumentParser() |
|
parser.add_argument("file_path", help="path of the .pbtxt to modify") |
|
parser.add_argument( |
|
"substitutions", |
|
help="substitutions to perform, in the format variable_name_1:value_1,variable_name_2:value_2...", |
|
) |
|
parser.add_argument("--in_place", "-i", action="store_true", help="do the operation in-place") |
|
parser.add_argument("--participant_ids", help="Participant IDs for the model", default="") |
|
args = parser.parse_args() |
|
|
|
main(**vars(args)) |
|
|