import argparse
import mwalib
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument(
"-m", "--metafits", required=True, help="Path to the metafits file."
)
parser.add_argument(
"datafiles",
nargs="*",
help="Paths to the gpubox or voltage data files (or neither).",
)
args = parser.parse_args()
context = None
if len(args.datafiles) == 0:
print(
"Only metafits file provided, assuming Legacy Correlator interpretation of"
" metafits."
)
context = mwalib.MetafitsContext(args.metafits)
else:
corr_suffixes = [x for x in args.datafiles if x[-5:] == ".fits"]
dat_suffixes = [x for x in args.datafiles if x[-4:] == ".dat"]
sub_suffixes = [x for x in args.datafiles if x[-4:] == ".sub"]
if len(corr_suffixes) + len(dat_suffixes) + len(sub_suffixes) == 0:
print("Error- no .fits, .dat or .sub files provided")
exit(-2)
elif len(corr_suffixes) > 0 and len(dat_suffixes) + len(sub_suffixes) == 0:
print(f"{len(corr_suffixes)} correlator/gpubox files detected")
context = mwalib.CorrelatorContext(args.metafits, args.datafiles)
elif (
len(dat_suffixes) > 0 and len(corr_suffixes) + len(sub_suffixes) == 0
) or (len(sub_suffixes) > 0 and len(corr_suffixes) + len(dat_suffixes) == 0):
print(
f"{len(dat_suffixes)} legacy voltage data files detected &"
f" {len(sub_suffixes)} MWAX voltage data files detected"
)
context = mwalib.VoltageContext(args.metafits, args.datafiles)
else:
print("Error: Combination of different data files supplied.")
exit(-3)
print("\nTesting Display method:")
print(context)