diff --git a/service b/service index 6c0ebe0..aa46710 100755 --- a/service +++ b/service @@ -98,7 +98,7 @@ def main(): # we need. else: schedule = r.json() - schedule["tracks"] = [] + tracks = {} for talk in schedule["talks"]: talk["start_str"] = ( datetime.fromtimestamp(talk["start_ts"]) @@ -106,6 +106,17 @@ def main(): .astimezone(event_tz) .strftime("%H:%M") ) + if talk["track"]: + if talk["track"]["name"] not in tracks: + tracks[talk["track"]["name"]] = talk["track"]["color"] + schedule["tracks"] = [] + for name, color in sorted(tracks.items()): + schedule["tracks"].append( + { + "name": name, + "color": color, + } + ) node.write_json("schedule.json", schedule) log("updated schedule json") elif config["json_flavour"] == "voc-schema":