aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/misc/streammon.py
diff options
context:
space:
mode:
authorgarret1317 <garret@airmail.cc>2025-09-14 15:04:02 +0100
committergarret1317 <garret@airmail.cc>2025-09-14 15:04:02 +0100
commitf3a16083b9f09c132dce6f262a1fb30f672b9441 (patch)
treeb34103226460d7b39c9b17c2e0855de3054712d5 /misc/streammon.py
parenta88ca60ee514c5347193fc679933a31117bac7ea (diff)
downloadyt-dlp-rajiko-f3a16083b9f09c132dce6f262a1fb30f672b9441.tar.gz
yt-dlp-rajiko-f3a16083b9f09c132dce6f262a1fb30f672b9441.tar.bz2
yt-dlp-rajiko-f3a16083b9f09c132dce6f262a1fb30f672b9441.zip
rename "misc" -> "contrib"
Diffstat (limited to 'misc/streammon.py')
-rwxr-xr-xmisc/streammon.py66
1 files changed, 0 insertions, 66 deletions
diff --git a/misc/streammon.py b/misc/streammon.py
deleted file mode 100755
index 8f52bb4..0000000
--- a/misc/streammon.py
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env python3
-# monitor stream APIs for any changes, so I can check they don't break anything
-# run via cronjob every now and then
-
-import difflib
-import os
-import sys
-import xml.etree.ElementTree as ET
-from datetime import datetime
-
-import requests
-
-s = requests.Session()
-
-DISCORD_WEBHOOK = "PUT WEBHOOK HERE"
-STREAMS_API = "https://radiko.jp/v3/station/stream/{device}/{station}.xml"
-
-if len(sys.argv) > 1:
- PATH = sys.argv[1]
-else:
- PATH = ""
-
-devices = ('pc_html5', 'aSmartPhone7a', 'aSmartPhone8')
-stations = ('FMT', 'CCL', 'NORTHWAVE', 'TBS')
-
-def format_xml(txt):
- root = ET.fromstring(txt)
- res = ""
- for el in root.findall("url"):
- res += el.find("playlist_create_url").text
- for k, v in el.attrib.items():
- res += f" {k}:{v}"
-
- res += "\n"
- return res
-
-for device in devices:
- for station in stations:
- url = STREAMS_API.format(device=device, station=station)
- now_response = s.get(url)
- now = now_response.text
- now_modified = now_response.headers["last-modified"]
- now_datetime = datetime.strptime(now_modified, "%a, %d %b %Y %H:%M:%S %Z")
-
-
- filename = f"{PATH}{station}-{device}.xml"
- with open(filename, "a+") as f:
- f.seek(0)
- past = f.read()
-
- modtime = datetime.fromtimestamp(os.path.getmtime(filename))
- diff = difflib.unified_diff(
- format_xml(past).splitlines(), format_xml(now).splitlines(),
- fromfile=url, tofile=url,
- fromfiledate=str(modtime), tofiledate=str(now_datetime.now()),
- )
-
- diff_str = "\n".join(diff)
- if diff_str != "":
- f.truncate(0)
- f.write(now)
-
- s.post(DISCORD_WEBHOOK, json={
- "content": f"**Streams changed: {station} {device}**\n" + "\n".join(("```diff", diff_str, "```")),
- })
- os.utime(filename, (now_datetime.timestamp(), now_datetime.timestamp()))