Skip to content

Commit

Permalink
Hotfix/zdf duplicates
Browse files Browse the repository at this point in the history
  • Loading branch information
alex1702 committed Mar 10, 2025
2 parents d14d586 + 78b552d commit 9c48bf1
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 2 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<groupId>de.mediathekview</groupId>
<artifactId>MLib</artifactId>
<version>3.0.14</version>
<version>3.0.15</version>
<packaging>jar</packaging>

<name>${project.groupId}:${project.artifactId}</name>
Expand Down
8 changes: 7 additions & 1 deletion src/main/java/de/mediathekview/mlib/daten/DatenFilm.java
Original file line number Diff line number Diff line change
Expand Up @@ -285,8 +285,14 @@ public String getUrlHistory() {

public String getIndex() {
// liefert einen eindeutigen Index für die Filmliste
String url = getUrl();

// bei ZDF Hosts Sonderlogik mit (n)rodl
url = url.replaceFirst("https://nrodl", "https://rodl")
.replaceFirst("http://nrodl", "http://rodl");

// URL beim KiKa und ORF ändern sich laufend!
return (arr[FILM_SENDER] + arr[FILM_THEMA]).toLowerCase() + getUrl();
return (arr[FILM_SENDER] + arr[FILM_THEMA]).toLowerCase() + url;
}

public String getIndexAddOld() {
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/de/mediathekview/mlib/daten/ListeFilme.java
Original file line number Diff line number Diff line change
Expand Up @@ -138,13 +138,16 @@ public synchronized void updateListe(ListeFilme listeEinsortieren, boolean index
if (f.arr[DatenFilm.FILM_SENDER].equals(Const.KIKA)) {
if (!hash.contains(f.arr[DatenFilm.FILM_THEMA] + f.arr[DatenFilm.FILM_TITEL])) {
addInit(f);
addHash(f, hash, index);
}
} else if (index) {
if (!hash.contains(f.getIndex())) {
addInit(f);
addHash(f, hash, index);
}
} else if (!hash.contains(f.getUrl())) {
addInit(f);
addHash(f, hash, index);
}
}
}
Expand Down
46 changes: 46 additions & 0 deletions src/test/java/de/mediathekview/mlib/daten/ListeFilmeTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package de.mediathekview.mlib.daten;

import de.mediathekview.mlib.Const;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class ListeFilmeTest {

@Test
public void testUpdateListeIndex() {
ListeFilme list = new ListeFilme();
list.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "Ermittler! Fatale Verbindungen (S2025/E05)", "https://nrodlzdf-a.akamaihd.net/none/zdf/25/03/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));
ListeFilme listOld = new ListeFilme();
listOld.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "Ermittler! Fatale Verbindungen (S2025/E05)", "https://nrodlzdf-a.akamaihd.net/none/zdf/25/03/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));
listOld.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "identische Url nicht hinzugefügt", "https://nrodlzdf-a.akamaihd.net/none/zdf/25/03/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));
listOld.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "gleiche Url mit anderen Host nicht hinzugefügt", "https://rodlzdf-a.akamaihd.net/none/zdf/25/03/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));
listOld.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "andere Url hinzugefügt", "https://nrodlzdf-a.akamaihd.net/none/zdf/25/02/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));

list.updateListe(listOld, true, false);
assertEquals(2, list.size());
}
@Test
public void testUpdateListeUrl() {
ListeFilme list = new ListeFilme();
list.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "Ermittler! Fatale Verbindungen (S2025/E05)", "https://nrodlzdf-a.akamaihd.net/none/zdf/25/03/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));
ListeFilme listOld = new ListeFilme();
listOld.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "Ermittler! Fatale Verbindungen (S2025/E05)", "https://nrodlzdf-a.akamaihd.net/none/zdf/25/03/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));
listOld.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "Ermittler! Fatale Verbindungen (S2025/E05)", "https://nrodlzdf-a.akamaihd.net/none/zdf/25/03/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));
listOld.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "Ermittler! Fatale Verbindungen (S2025/E05)", "https://nrodlzdf-a.akamaihd.net/none/zdf/25/03/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));
listOld.add(createTestFilm(Const.ZDF, "ZDFinfo Doku", "andere Episode", "https://nrodlzdf-a.akamaihd.net/none/zdf/25/02/250303_ermittler_fatale_verbindungen_inf/1/250303_ermittler_fatale_verbindungen_inf_3360k_p36v17.mp4"));

list.updateListe(listOld, false, false);
assertEquals(2, list.size());
}

private static DatenFilm createTestFilm(String sender, String topic, String title,
String filmUrl) {
DatenFilm film = new DatenFilm(sender, topic, "url", title, filmUrl, "", "", "", 12,
"");
film.arr[DatenFilm.FILM_GROESSE] = "10";

return film;
}

}

0 comments on commit 9c48bf1

Please sign in to comment.