update-ui/gen_ref_vers.py

44 lines
1.4 KiB
Python

import requests
import re
import json
# Logischer Name (wie im UI) → Launchpad-Quellpaketname
PACKAGES = {
"python3": "python3-defaults",
"nginx": "nginx",
"openssh-server": "openssh"
}
# Ubuntu-Release (muss auf launchpad.net vorhanden sein)
UBUNTU_RELEASE = "noble"
def get_version(pkg_source, release=UBUNTU_RELEASE):
try:
url = f"https://launchpad.net/ubuntu/{release}/+source/{pkg_source}"
r = requests.get(url, timeout=10)
if r.status_code != 200:
print(f"⚠️ Fehler {r.status_code} bei {url}")
return None
# Suche nach: Current version: <dd>VERSION</dd>
match = re.search(r'Current version:</dt>\s*<dd>([^<]+)</dd>', r.text)
return match.group(1).strip() if match else None
except Exception as e:
print(f"❌ Fehler bei {pkg_source}: {e}")
return None
def generate():
result = {}
for display_name, source_name in PACKAGES.items():
version = get_version(source_name)
if version:
result[display_name] = version
else:
print(f"❌ Keine Version gefunden für {display_name}")
return result
if __name__ == "__main__":
versions = generate()
with open("reference_versions.json", "w") as f:
json.dump(versions, f, indent=2)
print("✅ Referenz gespeichert in reference_versions.json")