diff --git a/simulations/airshower_beacon_simulation/matrix_base/bin/collect_figures.py b/simulations/airshower_beacon_simulation/matrix_base/bin/collect_figures.py new file mode 100755 index 0000000..8d36272 --- /dev/null +++ b/simulations/airshower_beacon_simulation/matrix_base/bin/collect_figures.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 + +import os +import re +import tempfile + +def parse_env_file(fname): + envs = {} + env_reg = re.compile('^(?:\s*export)?\s*(.*)\s*=\s*(.*)\s*$') + + with open(fname, 'r') as f: + for line in f: + if '=' not in line: + continue + + m = env_reg.match(line) + envs[m.group(1)] = m.group(2) + + return envs + +def mutilate_figure_name(fig_fname, envs): + return fig_fname + +if __name__ == "__main__": + from argparse import ArgumentParser + + parser = ArgumentParser() + #parser.add_argument('-f', '--figures', nargs='*') + parser.add_argument("-d", "--directories", nargs='*') + parser.add_argument('out_dir', default='./figures', type=str) + + args = parser.parse_args() + + os.makedirs(args.out_dir, exist_ok=True) + + #with open(args.out_file, 'w') as fp: + if True: + for d in args.directories: + d = os.path.realpath(d) + fig_dir = os.path.join(d, 'figures') + env_fname = os.path.join(d, 'env.sh') + + if not os.path.exists(fig_dir): + print(f"Cannot find {fig_dir}") + continue + + ## parse properties from env.sh + #envs = parse_env_file(env_fname) + #print(envs, fig_dir) + + for f in os.listdir(fig_dir): + fname, ext = os.path.splitext(f) + + dname = os.path.basename(d) + + if ext not in ['.pdf', '.png']: + continue + + link_name = fname + "_" + dname + ext + + target = os.path.realpath(os.path.join(fig_dir, f)) + tmpLink = tempfile.mktemp(dir=args.out_dir) + + os.symlink(target, tmpLink) + os.rename(tmpLink, os.path.join(args.out_dir, link_name)) + + diff --git a/simulations/airshower_beacon_simulation/matrix_base/make_matrix.py b/simulations/airshower_beacon_simulation/matrix_base/bin/make_matrix.py similarity index 100% rename from simulations/airshower_beacon_simulation/matrix_base/make_matrix.py rename to simulations/airshower_beacon_simulation/matrix_base/bin/make_matrix.py