#!/usr/bin/env python3
import sys
def parse_freq(f: str) -> int:
frequency = f.replace(".","")
if (frequency == ''):
return 0
return int(frequency)
def write_output(frequency: int, text: str, filename: str):
print(str(frequency) + " ; " + text + " ; Narrow FM; 10000; radioreference - " + filename)
if len(sys.argv) < 2:
print("Missing input csv filename.", file=sys.stderr)
sys.exit(1)
fn = sys.argv[1]
with open(fn) as fh:
first_line = True
headers = []
for line in fh.read().split("\n"):
if first_line:
headers = line.split(",")
first_line = False
continue
fields = line.split(",")
if len(fields) < 4:
continue
f_output = parse_freq(fields[0])
f_input = parse_freq(fields[1])
callsign = fields[2].strip()
category = fields[3].strip()
description = fields[4].strip()
if (f_output == 0) and (f_input == 0):
continue
outstr = ""
if callsign != "":
outstr += callsign + " : "
if description != "":
outstr += description + " (" + category + ")"
else:
outstr += category
if (f_output != 0) and (f_input == 0):
write_output(f_output, outstr, fn)
elif (f_input != 0) and (f_output == 0):
write_output(f_input, outstr, fn)
else:
write_output(f_input, "(input) " + outstr, fn)
write_output(f_output, "(output) " + outstr, fn)