Die Probe zeigt Fassung und Wortlaut
Der Proxy ist gelöst — Jellyfin hält die Verbindung jetzt für ausserhalb —, und es kommt trotzdem nur eine Stufe. Damit sind alle Hürden widerlegt, die im Quelltext von `master` stehen. Also stimmt etwas an der Annahme nicht, und am wahrscheinlichsten ist es die Fassung: ich lese womöglich den Quelltext einer anderen Version als der, die dort läuft. Deshalb meldet die Probe jetzt `Jellyfin <Version>` — und druckt bei nur einer Stufe die Master-Playlist **im Wortlaut**. Ab da hilft keine Zusammenfassung mehr: was fehlt, sieht man nur im Original. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e4e6cc6cbd
commit
6e18fda4aa
@@ -29,6 +29,12 @@ struct Endpunktlage: Decodable {
|
||||
}
|
||||
}
|
||||
|
||||
/// Welche Fassung der Server hat.
|
||||
struct Serverfassung: Decodable {
|
||||
let version: String?
|
||||
private enum CodingKeys: String, CodingKey { case version = "Version" }
|
||||
}
|
||||
|
||||
/// Die Netzwerkeinstellungen des Servers — nur der Teil, der hier zählt.
|
||||
struct Netzwerkeinstellung: Decodable {
|
||||
let knownProxies: [String]?
|
||||
@@ -99,7 +105,13 @@ func prüfePlaylist(_ url: URL, kopfzeilen: [String: String] = [:]) async -> Str
|
||||
guard (200..<300).contains(status) else {
|
||||
return " HTTP \(status) — keine Playlist bekommen."
|
||||
}
|
||||
return leiter(in: String(decoding: daten, as: UTF8.self)).beschreibung
|
||||
let text = String(decoding: daten, as: UTF8.self)
|
||||
let gelesen = leiter(in: text)
|
||||
// **Bei einer Stufe den Wortlaut zeigen.** Ab hier hilft keine
|
||||
// Zusammenfassung mehr: was fehlt, sieht man nur im Original.
|
||||
guard gelesen.stufen.count <= 1 else { return gelesen.beschreibung }
|
||||
return gelesen.beschreibung + "\n ——— Wortlaut ———\n"
|
||||
+ text.split(separator: "\n").map { " " + $0 }.joined(separator: "\n")
|
||||
} catch {
|
||||
return " Nicht erreichbar: \(error.localizedDescription)"
|
||||
}
|
||||
@@ -167,7 +179,18 @@ func jellyfinLeiter(host: String) async {
|
||||
print("Anmeldung gescheitert: \(error)")
|
||||
return
|
||||
}
|
||||
print("Angemeldet als \(konto.userName).\n")
|
||||
print("Angemeldet als \(konto.userName).")
|
||||
|
||||
// Die Fassung des Servers. Ohne sie lese ich womöglich den Quelltext
|
||||
// einer anderen — und suche den Fehler an einer Stelle, die es dort
|
||||
// gar nicht gibt.
|
||||
if let info = try? await client.send(
|
||||
JellyfinRequest(path: "/System/Info/Public"),
|
||||
as: Serverfassung.self
|
||||
) {
|
||||
print("Jellyfin \(info.version ?? "unbekannt")")
|
||||
}
|
||||
print("")
|
||||
|
||||
let backend = JellyfinBackend(client: client, account: konto, serverName: "Probe")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user