#!/usr/bin/env python3

import astropy.units as u
from astropy.time import Time

import pandas as pd

import sys

filename = sys.argv[1]
if len(sys.argv) > 2:
    frequency = sys.argv[2]
else:
    frequency = 1330
metafilename = filename + ".meta.yml"

df = pd.read_csv(filename)

df["Astropytime"] = Time(list(df["Time (UTC)"]), format='iso')

duration_minutes = (df.iloc[-1]["Astropytime"] - df.iloc[0]["Astropytime"]).to(u.min).value

starttime = df.iloc[0]["Astropytime"]

sources = sorted(df[" source"].unique())

attenuator_on = df[" signal"].min() < 500
attenuator_status = "Off"
if attenuator_on:
    attenuator_status = "On"

with open(metafilename, "w") as metafile:
    print(f"""\
Date/time: {starttime.iso[:16]}
Duration (min): {duration_minutes:.1f}
Sources: {", ".join(sources)}
Attenuator: {attenuator_status}
Frequency: {frequency} MHz""", file=metafile)
