Skip to content

Commit

Permalink
- always perform duplicate check when reading filmlist
Browse files Browse the repository at this point in the history
  • Loading branch information
derreisende77 committed Oct 21, 2024
1 parent 9ad92fa commit 16322d7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
- **FEATURE:** Im Tab Beschreibung und im FilmInfo-Dialog können jeweils selektierte Texte der Beschreibung per Kontextmenü in die Zwischenablage kopiert werden.
- **FEATURE(Linux):** Für exotische Window Manager können nun die FlatLaf-Dekorationen mittels `-dfd` oder `--disable-flatlaf-decorations` Parametern deaktiviert werden.
- **FEATURE:** Info-Datei kann nun per Kontextmenü für jeden Eintrag manuell erzeugt werden.
- **FEATURE:** Die Filmliste wird nun beim Laden zusätzlich auf Duplikate untersucht. Hierbei werden die Mediatheken der ARD und ZDF erst am Ende berücksichtigt um das Angebot der "kleineren" Sender nicht zu benachteiligen.
- **FEATURE:** Mittels `Ansicht/Filmstatistik anzeigen` können nun für die vorhandenen Sender Informationen bzgl. Anzahl der Filme und der Duplikate angezeigt werden. Hier werden Livestreams und andere Filter **nicht** berücksichtigt, daher weichen die Angaben von der Anzeige in der Statuszeile ggf. ab.
- **FEATURE:** Mit der Lucene-Suche können mittels des `duplicate`-Boolean Parameters Filmduplikate berücksichtigt werden.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,22 @@ private void checkDuplicates() {
Stopwatch watch = Stopwatch.createStarted();
listeFilme.stream()
.filter(f -> !f.isLivestream())
.sorted((s1, s2) -> {
// "ARD" und "ZDF" immer am Ende um die kleineren Mediatheken nicht zu benachteiligen
final var s1_sender = s1.getSender();
final var s2_sender = s2.getSender();
if (s1_sender.equals("ARD") || s1_sender.equals("ZDF")) {
return 1;
}
if (s2_sender.equals("ARD") || s2_sender.equals("ZDF")) {
return -1;
}
// Alphabetisch sortieren für alle anderen
return s1.compareTo(s2);
})
.forEach(film -> {
final var url = film.getUrlNormalQuality();
final var duplicate = urlCache.contains(url);
film.setDuplicate(duplicate);
film.setDuplicate(urlCache.contains(url));
urlCache.add(url);
});
watch.stop();
Expand Down

0 comments on commit 16322d7

Please sign in to comment.