#!/usr/bin/env python3 import xml.dom.minidom import requests import json playlist = None try: resp = requests.get("https://git.purser.it/roypur/icecast-relay/raw/branch/master/icecast.xml") dom = xml.dom.minidom.parseString(resp.text) except Exception as e: print(e) else: playlist = {} mounts = dom.getElementsByTagName("mount") for mount in mounts: mount_names = mount.getElementsByTagName("mount-name") stream_names = mount.getElementsByTagName("stream-name") if len(mount_names) == 1 and len(stream_names) == 1: mount_name = mount_names[0].firstChild.nodeValue stream_name = stream_names[0].firstChild.nodeValue value = {} value["radio"] = True value["name"] = stream_name playlist[mount_name] = value if playlist is not None: with open("/app/tv.json", "r") as f: tv = json.loads(f.read()) for name in tv: playlist[name] = tv[name] with open("/app/sources.json", "w+") as f: f.write(json.dumps(playlist)) try: resp = requests.get("https://api.cdnjs.com/libraries/castjs?fields=version") data = json.loads(resp.text) castjs_version = data["version"] except Exception as e: print(e) else: with open("/app/castjs-version.txt", "w") as f: f.write(castjs_version) try: resp = requests.get("https://api.cdnjs.com/libraries/video.js?fields=version") data = json.loads(resp.text) videojs_version = data["version"] except Exception as e: print(e) else: with open("/app/videojs-version.txt", "w") as f: f.write(videojs_version)