3559 von 5884 Dateien verschwanden lautlos
Der Scan erfindet keine Serie mehr, wenn weder Ordner noch Dateiname eine nennen — richtig so. Nur wurde die Datei dann übersprungen, ohne Zeile, ohne Spur. In der Mediathek standen 58 Serien und niemand konnte sagen, wo die anderen geblieben sind. Jetzt bekommt jede solche Datei eine Zeile ohne Zuordnung. Damit ist sie zählbar, auflistbar und nach einer besseren Regel nachträglich zuzuordnen. Untersucht wird sie nicht: ffprobe auf 3559 Dateien kostet eine halbe Stunde für Angaben, die niemand zu sehen bekommt, und sobald die Zuordnung steht, holt der nächste Lauf es nach. Dazu ein Abschnitt "Nicht zugeordnet" in der Verwaltung, nach Grund gebündelt und mit den Pfaden zum Aufklappen. Zwei Gründe gibt es, und sie verlangen Verschiedenes: fehlt die Folgennummer, muss umbenannt werden; fehlt der Serienname, genügt ein Ordner darum herum. Die Liste lässt sich als Datei herunterladen — eine, die man markieren und kopieren muss, schickt niemand. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
a8bb98c44c
commit
cfb1e71762
@@ -267,6 +267,31 @@ public static partial class FileNames
|
||||
AusOrdner: ausOrdner is not null);
|
||||
}
|
||||
|
||||
/// <summary>Warum sich eine Datei keiner Serie zuordnen liess.</summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// <b>Zwei Gründe, und sie verlangen Verschiedenes.</b> Fehlt die
|
||||
/// Folgennummer, muss die Datei umbenannt werden. Fehlt der Serienname,
|
||||
/// genügt ein Ordner darum herum. „Nicht zugeordnet" allein sagt beides
|
||||
/// nicht — und bei 3559 Dateien ist der Unterschied die ganze Arbeit.
|
||||
/// </remarks>
|
||||
public static string WarumNicht(string dateiname, string? wurzel = null)
|
||||
{
|
||||
var roh = Rohname(dateiname);
|
||||
var treffer = StaffelUndFolge().Match(roh);
|
||||
if (!treffer.Success) treffer = KreuzSchreibweise().Match(roh);
|
||||
|
||||
if (!treffer.Success)
|
||||
{
|
||||
return "keine Folgennummer im Dateinamen (erwartet wird etwa S01E02 oder 1x02).";
|
||||
}
|
||||
|
||||
return wurzel is { Length: > 0 } && SerieAusOrdner(dateiname, wurzel) is null
|
||||
? "liegt ohne Ordner direkt in der Mediathek, und vor der Folgennummer "
|
||||
+ "steht kein Serienname."
|
||||
: "vor der Folgennummer steht kein Serienname.";
|
||||
}
|
||||
|
||||
/// <summary>Der Serienname aus dem Pfad.</summary>
|
||||
///
|
||||
/// <remarks>
|
||||
|
||||
Reference in New Issue
Block a user