From 50bfb27bd17236ccdc5dadf87b461c418edf2508 Mon Sep 17 00:00:00 2001
From: garret1317
Date: Thu, 5 Jun 2025 18:06:37 +0100
Subject: add useful scripts used in release/development
---
misc/generate_changelog.py | 116 -----------------------------------------
misc/generate_html.py | 84 +++++++++++++++++++++++++++++
misc/old_generate_changelog.py | 116 +++++++++++++++++++++++++++++++++++++++++
misc/streammon.py | 53 +++++++++++++++++++
4 files changed, 253 insertions(+), 116 deletions(-)
delete mode 100755 misc/generate_changelog.py
create mode 100755 misc/generate_html.py
create mode 100755 misc/old_generate_changelog.py
create mode 100755 misc/streammon.py
(limited to 'misc')
diff --git a/misc/generate_changelog.py b/misc/generate_changelog.py
deleted file mode 100755
index 1bce073..0000000
--- a/misc/generate_changelog.py
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/usr/bin/env python3
-import email.utils
-import feedgenerator
-
-def parse_changelog(lines):
- got_version = False
- got_date = False
- got_url = False
- done_remarks = False
- releases = []
- release = {}
- release_remarks = []
- release_changes = []
- current_change = ""
-
- for idx, line in enumerate(lines):
- line = line.rstrip()
-
- if not got_version:
- got_version = True
- release["version"] = line
- continue
-
- if not got_date:
- release["date"] = email.utils.parsedate_to_datetime(line)
- got_date = True
- continue
-
- key, sep, val = line.partition(": ")
- if key in ["url", "sha256", "released"] and val != "":
- release[key] = val
- continue
-
- if not done_remarks:
- if line == "":
- done_remarks = True
- release["remarks"] = release_remarks
- release_remarks = []
- continue
- else:
- release_remarks.append(line)
- continue
-
- if line != "":
- release_changes.append(line.rstrip())
-
- if idx + 1 != len(lines):
- continue
-
- release["changes"] = release_changes
- if release.get("released") != "no":
- releases.append(release)
-
- got_version = False
- got_date = False
- done_remarks = False
- release = {}
- release_changes = []
-
- return releases
-
-def generate_rss_feed(releases):
- feed = feedgenerator.Rss201rev2Feed(
- title="yt-dlp-rajiko changelog",
- description="Notifications for new yt-dlp-rajiko releases, with changelogs",
- link="https://427738.xyz/yt-dlp-rajiko/",
- language="en-GB",
- ttl=180, # 3 hours
- )
-
- for release in releases:
- title = "yt-dlp-rajiko " + release["version"] + " has been released"
- description = ""
- description += "
"
- for remark in release["remarks"]:
- description += remark
- description += " "
- description += "
"
- description += "
This release:
\n"
- description += "
"
- for change in release["changes"]:
- description += "
"
- description += change
- description += "
\n"
- description += "
"
-
- if release.get("url"):
- if release["version"] != "1.0":
- description += "\n
If you use pip, you should be able to upgrade with pip install yt-dlp-rajiko --upgrade --extra-index-url https://427738.xyz/yt-dlp-rajiko/pip/. "
- description += "If you installed manually, you can download the updated .whl from this post's link."
- if release.get("sha256"):
- description += " The SHA256 checksum should be "
- description += release.get("sha256")
- description += "."
- description += "
"
- else:
- description += '\n
Please see the homepage for initial installation instructions.
+
+
+""")
+
+latest_tarball = tarballs[-1]
+latest_wheel = wheels[-1]
+print(latest_tarball, latest_wheel)
+
+os.remove("yt_dlp_rajiko-latest.tar.gz")
+os.symlink(latest_tarball, "yt_dlp_rajiko-latest.tar.gz")
+
+os.remove("yt_dlp_rajiko-latest.whl")
+os.symlink(latest_wheel, "yt_dlp_rajiko-latest.whl")
+
+site_sha256.reverse()
+
+latest_list = site_sha256[:2]
+previous_list = site_sha256[2:]
+
+latest = "\n".join(["", "", "\n".join(latest_list), "", ""])
+
+previous = "\n".join(["", "", "\n".join(previous_list), "", ""])
+
+for i in ["../../index.html", "../../index.ja.html"]:
+ with open(i, "r+") as f:
+ page = f.read()
+
+ page = re.sub(r".+", latest, page, flags=re.DOTALL)
+ page = re.sub(r".+", previous, page, flags=re.DOTALL)
+
+ f.seek(0)
+ f.truncate(0)
+ f.write(page)
diff --git a/misc/old_generate_changelog.py b/misc/old_generate_changelog.py
new file mode 100755
index 0000000..1bce073
--- /dev/null
+++ b/misc/old_generate_changelog.py
@@ -0,0 +1,116 @@
+#!/usr/bin/env python3
+import email.utils
+import feedgenerator
+
+def parse_changelog(lines):
+ got_version = False
+ got_date = False
+ got_url = False
+ done_remarks = False
+ releases = []
+ release = {}
+ release_remarks = []
+ release_changes = []
+ current_change = ""
+
+ for idx, line in enumerate(lines):
+ line = line.rstrip()
+
+ if not got_version:
+ got_version = True
+ release["version"] = line
+ continue
+
+ if not got_date:
+ release["date"] = email.utils.parsedate_to_datetime(line)
+ got_date = True
+ continue
+
+ key, sep, val = line.partition(": ")
+ if key in ["url", "sha256", "released"] and val != "":
+ release[key] = val
+ continue
+
+ if not done_remarks:
+ if line == "":
+ done_remarks = True
+ release["remarks"] = release_remarks
+ release_remarks = []
+ continue
+ else:
+ release_remarks.append(line)
+ continue
+
+ if line != "":
+ release_changes.append(line.rstrip())
+
+ if idx + 1 != len(lines):
+ continue
+
+ release["changes"] = release_changes
+ if release.get("released") != "no":
+ releases.append(release)
+
+ got_version = False
+ got_date = False
+ done_remarks = False
+ release = {}
+ release_changes = []
+
+ return releases
+
+def generate_rss_feed(releases):
+ feed = feedgenerator.Rss201rev2Feed(
+ title="yt-dlp-rajiko changelog",
+ description="Notifications for new yt-dlp-rajiko releases, with changelogs",
+ link="https://427738.xyz/yt-dlp-rajiko/",
+ language="en-GB",
+ ttl=180, # 3 hours
+ )
+
+ for release in releases:
+ title = "yt-dlp-rajiko " + release["version"] + " has been released"
+ description = ""
+ description += "
"
+ for remark in release["remarks"]:
+ description += remark
+ description += " "
+ description += "
"
+ description += "
This release:
\n"
+ description += "
"
+ for change in release["changes"]:
+ description += "
"
+ description += change
+ description += "
\n"
+ description += "
"
+
+ if release.get("url"):
+ if release["version"] != "1.0":
+ description += "\n
If you use pip, you should be able to upgrade with pip install yt-dlp-rajiko --upgrade --extra-index-url https://427738.xyz/yt-dlp-rajiko/pip/. "
+ description += "If you installed manually, you can download the updated .whl from this post's link."
+ if release.get("sha256"):
+ description += " The SHA256 checksum should be "
+ description += release.get("sha256")
+ description += "."
+ description += "
"
+ else:
+ description += '\n
Please see the homepage for initial installation instructions.