import subprocess
import pandas as pd
import sys
import os

import viewdat_cno_lib as vdl



action_logs = [
        'action_log_1.csv',
        'action_log_2.csv',
        'action_log_3.csv',
        'action_log_4.csv',
        'action_log_5.csv',
        'action_log_6.csv',
        'action_log_7.csv',
        ]
log_cols = ['start_mdt', 'end_mdt', 'action', 'boom', 'start_utc', 'end_utc',
            'start_sec', 'end_sec', 'dt_sec']

t04s = ['BX992_all.T04', 'EB1-5093_all.T04', 'EB1-5095_all.T04', 'P4-05_all.T04']

d_list = []
for f in action_logs:
    test_num = int(f.split('_')[2].split('.')[0])
    #print(f, test_num)
    df_log = pd.read_csv(f, names=log_cols,
                         #skiprows=6,
                         header=6,
                         usecols=[0,1,2,3,4,5,6,7,8],
                         )
    start = df_log.iloc[0, 6]
    end = df_log.iloc[-1, 7]
    print(f'{f=}', start, end)
    print(df_log)
    print("")
    for t in t04s:
        dev = t.split('_')[0]
        if test_num > 5 and dev == 'EB1-5095':
            # We don't have data for this device in the last 2 tests.
            continue
        for ant in [0, 1]:
            txt_fname = t + '_d35-19.txt'
            per_test_tsv_fname = t + f'_t{test_num}_ant{ant}.tsv'
            per_test_csv_fname = os.path.join('per_test_data',
                                              t + f'_t{test_num}_ant{ant}.csv')
            if not os.path.isfile(per_test_csv_fname):
                df = vdl.obs_read(t, 'viewdat', ant, 'norm', True, False, start, end)
                os.remove(txt_fname)

                df = df[['Time', 'adj_time', 
                      'SVType', 'Freq', 'Track', 'SV',
                      'Phase', 'Count',
                      ]]

                print(f'Saving {per_test_csv_fname}')
                df.to_csv(per_test_csv_fname, index=False)

