Skip to content

Commit 5135820

Browse files
committed
update ndr geo
1 parent a05de16 commit 5135820

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

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

Lines changed: 15 additions & 1 deletion
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+
.collect(Collectors.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")
@@ -484,7 +498,7 @@ private boolean orfRemovedVideo(DatenFilm film, Response response) {
484498

485499
@NotNull
486500
private Request createOnlineCheckRequest(String url) {
487-
Builder builder = new Builder().url(url);
501+
Request.Builder builder = new Request.Builder().url(url);
488502
if (isM3u8File(url)) {
489503
// head request of m3u8 files always returns 405 => use get instead
490504
return builder.get().build();

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)