#!/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)