451 gegen 461, und ein Band für das, was noch wartet
Drei Zahlen, die alle stimmen und Verschiedenes meinen: Plex zählte 451 Filme, Flaro 449, und der Scan lief über 461 Dateien. Die Mediathekszeile nennt sie jetzt getrennt — Titel, Folgen, Dateien, zweite Fassungen und nicht Zugeordnetes. Damit beantwortet sich die Frage selbst, statt offen zu bleiben. Die Rechnung dahinter war beim ersten Versuch falsch: sie verglich gegen alle Folgen und kam auf 1223 Titel bei 324 Dateien. Gezählt wird jetzt, zu wie vielen Titeln überhaupt noch eine Datei daliegt — dann geht Dateien = Titel + Fassungen + ohne auf, auch wenn etwas vermisst wird. Nachgemessen mit einer echten Plex-Kopie: 3 Titel, 4 Dateien, 1 zweite Fassung. Dazu trägt eine Kachel, die noch auf Freigabe wartet, jetzt ein Band — „Wartet" oder „Geplant". Für einen Administrator standen wartende Titel bisher mitten zwischen den freigegebenen, ohne dass etwas sie unterschied; wer einen suchte, fand ihn nur über die Prüfliste. Dafür reicht `PublishAt` jetzt bis in die Kachel durch. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
5a5cf3d006
commit
c854c4a09a
@@ -311,6 +311,7 @@ public static class LibraryContentEndpoints
|
||||
.Select(t => t.Overview).FirstOrDefault() ?? m.Overview,
|
||||
m.PosterImage, m.BackdropImage,
|
||||
m.LogoImage, m.RuntimeMinutes, m.Rating, m.ContentRating,
|
||||
m.PublishAt,
|
||||
})
|
||||
.ToListAsync();
|
||||
|
||||
@@ -331,7 +332,8 @@ public static class LibraryContentEndpoints
|
||||
.Select(f => Datei(f.Id, f.Path, f.SizeBytes, f.Container, f.Duration, spuren, f.VersionLabel)).ToList(),
|
||||
stände.GetValueOrDefault(m.Id),
|
||||
m.LogoImage, m.RuntimeMinutes, m.Rating, null, m.ContentRating,
|
||||
OriginalTitle: m.OriginalTitle)).ToList();
|
||||
OriginalTitle: m.OriginalTitle,
|
||||
PublishAt: m.PublishAt)).ToList();
|
||||
|
||||
return Results.Ok(new Page<MovieResponse>(items, gesamt));
|
||||
}).RequireAuthorization();
|
||||
@@ -381,6 +383,11 @@ public static class LibraryContentEndpoints
|
||||
.Select(t => t.Overview).FirstOrDefault() ?? s.Overview,
|
||||
s.PosterImage, s.BackdropImage,
|
||||
s.LogoImage, s.RuntimeMinutes, s.Rating, s.ContentRating,
|
||||
// **Eine Serie wartet, solange keine Folge sichtbar ist.**
|
||||
// Der früheste Zeitpunkt sagt, ab wann überhaupt etwas da
|
||||
// ist; steht dort nichts, wartet alles.
|
||||
PublishAt = db.Episodes.Where(f => f.SeriesId == s.Id)
|
||||
.Min(f => f.PublishAt),
|
||||
})
|
||||
.ToListAsync();
|
||||
|
||||
@@ -403,7 +410,8 @@ public static class LibraryContentEndpoints
|
||||
meine.Select(f => f.SeasonNumber).Distinct().Order().ToList(),
|
||||
meine.Count(f => !gesehen.Contains(f.Id)),
|
||||
s.LogoImage, s.RuntimeMinutes, s.Rating, null, s.ContentRating,
|
||||
OriginalTitle: s.OriginalTitle);
|
||||
OriginalTitle: s.OriginalTitle,
|
||||
PublishAt: s.PublishAt);
|
||||
}).ToList();
|
||||
|
||||
return Results.Ok(new Page<SeriesResponse>(items, gesamt));
|
||||
|
||||
Reference in New Issue
Block a user