v1.1: Update-UI mit Verlauf, Referenzeditor für Pakete, Referenzskript (automatische Versionsupdates mit POST-Integration)
This commit is contained in:
parent
029caa8565
commit
06515b8d43
8 changed files with 1412 additions and 148 deletions
44
gen_ref_vers.py
Normal file
44
gen_ref_vers.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
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")
|
Loading…
Add table
Add a link
Reference in a new issue