Skip to content

Commit 2a26cdf

Browse files
committed
ndr: update geo
2 parents 62ed7f7 + 8256485 commit 2a26cdf

File tree

3 files changed

+47
-5
lines changed

3 files changed

+47
-5
lines changed

src/main/java/mServer/crawler/AddToFilmlist.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,23 @@ private void performInitialCleanup() {
142142
updateArdWebsite(listeEinsortieren);
143143
updateSenderTagesschau24(listeEinsortieren);
144144
updateFunkMissingHost(listeEinsortieren);
145+
updateGeoForNdrProgressiveGeo(listeEinsortieren);
145146
removeSrfUrlParameter(listeEinsortieren);
146147
}
147148

149+
private void updateGeoForNdrProgressiveGeo(ListeFilme listeEinsortieren) {
150+
final List<DatenFilm> list = listeEinsortieren.parallelStream()
151+
.filter(film -> film.arr[DatenFilm.FILM_SENDER].equals(Const.NDR)
152+
&& film.arr[DatenFilm.FILM_URL] != null
153+
&& film.arr[DatenFilm.FILM_URL].contains("progressive_geo"))
154+
.filter(film -> film.arr[DatenFilm.FILM_GEO] == null || film.arr[DatenFilm.FILM_GEO].isEmpty())
155+
.toList();
156+
Log.sysLog("NDR: set GEO=DE for " + list.size() + " entries with progressive_geo (out of " + list.size() + ").");
157+
if (!list.isEmpty()) {
158+
list.forEach(film -> film.arr[DatenFilm.FILM_GEO] = DatenFilm.GEO_DE);
159+
}
160+
}
161+
148162
private boolean isArdUrlToRemove(final String url) {
149163
return url.startsWith("https://tvdlzdf-a.akamaihd.net")
150164
|| url.startsWith("https://arteptweb-a.akamaihd.net")

src/main/java/mServer/crawler/sender/MediathekReader.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -245,14 +245,10 @@ private void processArd(DatenFilm film) {
245245
if (film.arr[DatenFilm.FILM_URL].startsWith("http://mvideos-geo.daserste.de/")
246246
|| film.arr[DatenFilm.FILM_URL].contains("/geoblocking/")
247247
|| film.arr[DatenFilm.FILM_URL].contains("/de/")
248-
|| film.arr[DatenFilm.FILM_URL].startsWith("http://media.ndr.de/progressive_geo/")
249-
|| film.arr[DatenFilm.FILM_URL].startsWith("http://mediandr-a.akamaihd.net//progressive_geo/")
250-
|| film.arr[DatenFilm.FILM_URL].startsWith("https://mediandr-a.akamaihd.net//progressive_geo/")
248+
|| film.arr[DatenFilm.FILM_URL].contains("/progressive_geo/")
251249
|| film.arr[DatenFilm.FILM_URL].startsWith("https://pdodswr-a.akamaihd.net/swr/geo/de/")
252250
|| film.arr[DatenFilm.FILM_URL].startsWith("https://pdodswr-a.akamaihd.net/swrfernsehen/geo/de/")
253251
|| film.arr[DatenFilm.FILM_URL].startsWith("https://pdodswr-a.akamaihd.net/kindernetz/geo/de/")
254-
|| film.arr[DatenFilm.FILM_URL].startsWith("http://mediandr-a.akamaihd.net/progressive_geo")
255-
|| film.arr[DatenFilm.FILM_URL].startsWith("https://mediandr-a.akamaihd.net/progressive_geo")
256252
|| film.arr[DatenFilm.FILM_URL].startsWith("http://cdn-storage.br.de/geo/")
257253
|| film.arr[DatenFilm.FILM_URL].startsWith("http://cdn-sotschi.br.de/geo/b7/")
258254
|| film.arr[DatenFilm.FILM_URL].startsWith("https://cdn-storage.br.de/geo/")

src/test/developTest/java/mServer/crawler/AddToFilmlistTest.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public MockResponse dispatch(RecordedRequest request) throws InterruptedExceptio
5656

5757
switch (request.getPath()) {
5858
case "/" + FILM_NAME_ONLINE:
59+
case "/progressive_geo/" + FILM_NAME_ONLINE:
5960
case "/" + FILM_NAME_ONLINE2:
6061
case "/" + FILM_NAME_ARTE_EXTRAIT:
6162
case "/world/hls/10vor10/2023/07/10vor10_20230731_215000_19875207_v_webcast_h264_,q40,q10,q20,q30,q50,q60,.mp4.csmil/index-f1-v1-a1.m3u8":
@@ -559,6 +560,37 @@ public void testZdfReplaceAdDeutWithAudiodescription() {
559560
assertEquals("Film3 (Audiodeskription)", testFilm3.arr[DatenFilm.FILM_TITEL]);
560561
}
561562

563+
@Test
564+
public void testSetGeoForNdrProgressiveGeoWhenEmpty() {
565+
final DatenFilm ndrFilm1 = createTestFilm(Const.NDR, "NDR Topic", "NDR Title", "progressive_geo/" + FILM_NAME_ONLINE);
566+
final DatenFilm ndrFilm2 = createTestFilm(Const.NDR, "NDR Topic", "NDR Title 1", FILM_NAME_ONLINE);
567+
listToAdd.add(ndrFilm1);
568+
listToAdd.add(ndrFilm2);
569+
570+
AddToFilmlist target = new AddToFilmlist(list, listToAdd);
571+
target.addOldList();
572+
573+
assertEquals(list.size(), 4);
574+
// GEO should be set to DE
575+
assertEquals(DatenFilm.GEO_DE, ndrFilm1.arr[DatenFilm.FILM_GEO]);
576+
assertEquals("", ndrFilm2.arr[DatenFilm.FILM_GEO]);
577+
}
578+
579+
@Test
580+
public void testDoNotOverrideExistingGeoForNdrProgressiveGeo() {
581+
final DatenFilm ndrFilm = createTestFilm(Const.NDR, "NDR Topic", "NDR Title", "progressive_geo/" + FILM_NAME_ONLINE);
582+
// preset GEO to AT (should not be overridden)
583+
ndrFilm.arr[DatenFilm.FILM_GEO] = DatenFilm.GEO_AT;
584+
listToAdd.add(ndrFilm);
585+
586+
AddToFilmlist target = new AddToFilmlist(list, listToAdd);
587+
target.addOldList();
588+
589+
assertEquals(list.size(), 3);
590+
// GEO should remain AT
591+
assertEquals(DatenFilm.GEO_AT, ndrFilm.arr[DatenFilm.FILM_GEO]);
592+
}
593+
562594
private static DatenFilm createTestFilm(String sender, String topic, String title,
563595
String filmUrl) {
564596
DatenFilm film = new DatenFilm(sender, topic, "url", title, baseUrl + filmUrl, "", "", "", 12,

0 commit comments

Comments
 (0)