Skip to content

Commit bc4e4df

Browse files
authored
Merge branch 'master' into hotfix/cleanup
2 parents f24f935 + dd2276c commit bc4e4df

File tree

4 files changed

+48
-6
lines changed

4 files changed

+48
-6
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ sourceCompatibility = JavaVersion.VERSION_17
2727
targetCompatibility = JavaVersion.VERSION_17
2828
group = 'de.mediathekview'
2929
archivesBaseName = "MServer"
30-
version = '3.1.281'
30+
version = '3.1.282'
3131

3232
def jarName = 'MServer.jar'
3333
def mainClass = 'mServer.Main'

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,20 @@ private void performInitialCleanup() {
128128
updateThema(listeEinsortieren);
129129
updateTitle(listeEinsortieren);
130130
updateArdWebsite(listeEinsortieren);
131+
updateGeoForNdrProgressiveGeo(listeEinsortieren);
132+
}
133+
134+
private void updateGeoForNdrProgressiveGeo(ListeFilme listeEinsortieren) {
135+
final List<DatenFilm> list = listeEinsortieren.parallelStream()
136+
.filter(film -> film.arr[DatenFilm.FILM_SENDER].equals(Const.NDR)
137+
&& film.arr[DatenFilm.FILM_URL] != null
138+
&& film.arr[DatenFilm.FILM_URL].contains("progressive_geo"))
139+
.filter(film -> film.arr[DatenFilm.FILM_GEO] == null || film.arr[DatenFilm.FILM_GEO].isEmpty())
140+
.toList();
141+
Log.sysLog("NDR: set GEO=DE for " + list.size() + " entries with progressive_geo (out of " + list.size() + ").");
142+
if (!list.isEmpty()) {
143+
list.forEach(film -> film.arr[DatenFilm.FILM_GEO] = DatenFilm.GEO_DE);
144+
}
131145
}
132146

133147
private boolean isArdUrlToRemove(final String url) {

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":
@@ -465,6 +466,37 @@ public void testArdTagesschau24EntriesNotAdded() {
465466
assertEquals(Const.ARD, testFilmArdOk.arr[DatenFilm.FILM_SENDER]);
466467
}
467468

469+
@Test
470+
public void testSetGeoForNdrProgressiveGeoWhenEmpty() {
471+
final DatenFilm ndrFilm1 = createTestFilm(Const.NDR, "NDR Topic", "NDR Title", "progressive_geo/" + FILM_NAME_ONLINE);
472+
final DatenFilm ndrFilm2 = createTestFilm(Const.NDR, "NDR Topic", "NDR Title 1", FILM_NAME_ONLINE);
473+
listToAdd.add(ndrFilm1);
474+
listToAdd.add(ndrFilm2);
475+
476+
AddToFilmlist target = new AddToFilmlist(list, listToAdd);
477+
target.addOldList();
478+
479+
assertEquals(list.size(), 4);
480+
// GEO should be set to DE
481+
assertEquals(DatenFilm.GEO_DE, ndrFilm1.arr[DatenFilm.FILM_GEO]);
482+
assertEquals("", ndrFilm2.arr[DatenFilm.FILM_GEO]);
483+
}
484+
485+
@Test
486+
public void testDoNotOverrideExistingGeoForNdrProgressiveGeo() {
487+
final DatenFilm ndrFilm = createTestFilm(Const.NDR, "NDR Topic", "NDR Title", "progressive_geo/" + FILM_NAME_ONLINE);
488+
// preset GEO to AT (should not be overridden)
489+
ndrFilm.arr[DatenFilm.FILM_GEO] = DatenFilm.GEO_AT;
490+
listToAdd.add(ndrFilm);
491+
492+
AddToFilmlist target = new AddToFilmlist(list, listToAdd);
493+
target.addOldList();
494+
495+
assertEquals(list.size(), 3);
496+
// GEO should remain AT
497+
assertEquals(DatenFilm.GEO_AT, ndrFilm.arr[DatenFilm.FILM_GEO]);
498+
}
499+
468500
private static DatenFilm createTestFilm(String sender, String topic, String title,
469501
String filmUrl) {
470502
DatenFilm film = new DatenFilm(sender, topic, "url", title, baseUrl + filmUrl, "", "", "", 12,

0 commit comments

Comments
 (0)