diff --git a/tools/bookmark_integrator b/tools/bookmark_integrator new file mode 100755 index 000000000..ae6712014 --- /dev/null +++ b/tools/bookmark_integrator @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 + +import json +import csv +import sys + +with open("../bookmarks.json") as f: + bookmarks = json.load(f) + +modulation_map = {"FM": "nfm", "NFM": "nfm"} + +in_file = sys.argv[1] +to_integrate = [] +with open(in_file) as f: + reader = csv.DictReader(f) + for row in reader: + channel = { + "name": row["Name"], + "frequency": int(float(row["Frequency"]) * 1000000), + "modulation": modulation_map[row["Mode"]], + } + to_integrate.append(channel) + +bookmarks.extend(to_integrate) +deduplicated = [dict(t) for t in {tuple(d.items()) for d in bookmarks}] + +with open("../bookmarks.json", "w") as f: + json.dump(deduplicated, f)