Skip to content

Commit 7997959

Browse files
committed
3Sat/ZDF: fix default sender
2 parents 6ef4640 + 10c343b commit 7997959

File tree

7 files changed

+56
-49
lines changed

7 files changed

+56
-49
lines changed

src/main/java/mServer/crawler/sender/dreisat/AbstractZdfCrawler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ protected RecursiveTask<Set<DatenFilm>> createCrawlerTask() {
5454
meldungAddMax(shows.size());
5555
}
5656

57-
return new ZdfFilmDetailTask(this, getApiUrlBase(), new ConcurrentLinkedQueue<>(shows), configuration.getVideoAuthKey(), DreisatConstants.PARTNER_TO_SENDER);
57+
return new ZdfFilmDetailTask(this, getApiUrlBase(), new ConcurrentLinkedQueue<>(shows), configuration.getVideoAuthKey(), DreisatConstants.PARTNER_TO_SENDER, getSendername());
5858
} catch (final InterruptedException ex) {
5959
LOG.debug("{} crawler interrupted.", getSendername(), ex);
6060
Thread.currentThread().interrupt();

src/main/java/mServer/crawler/sender/dreisat/DreisatConstants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public final class DreisatConstants {
2727
public static final Map<String, String> PARTNER_TO_SENDER = new HashMap<>();
2828
static {
2929
PARTNER_TO_SENDER.put("3sat", Const.DREISAT);
30+
PARTNER_TO_SENDER.put("3Sat", Const.DREISAT);
3031
}
3132

3233
private DreisatConstants() {

src/main/java/mServer/crawler/sender/phoenix/PhoenixConstants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@ private PhoenixConstants() {}
1818
public static final Map<String, String> PARTNER_TO_SENDER = new HashMap<>();
1919
static {
2020
PARTNER_TO_SENDER.put("Phoenix", Const.PHOENIX);
21+
PARTNER_TO_SENDER.put("PHOENIX", Const.PHOENIX);
2122
}
2223
}

src/main/java/mServer/crawler/sender/phoenix/tasks/PhoenixFilmDetailTask.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package mServer.crawler.sender.phoenix.tasks;
22

33
import com.google.gson.reflect.TypeToken;
4+
import de.mediathekview.mlib.Const;
45
import de.mediathekview.mlib.daten.DatenFilm;
56
import jakarta.ws.rs.client.WebTarget;
67
import mServer.crawler.sender.MediathekReader;
@@ -56,7 +57,7 @@ protected void processRestTarget(CrawlerUrlDTO aDTO, WebTarget aTarget) {
5657
this.filmDetailHost,
5758
filmDetailDto.getBaseName())));
5859
final ZdfFilmDetailTask zdfFilmDetailTask =
59-
new ZdfFilmDetailTask(this.crawler, "", shows, Optional.empty(), PhoenixConstants.PARTNER_TO_SENDER);
60+
new ZdfFilmDetailTask(this.crawler, "", shows, Optional.empty(), PhoenixConstants.PARTNER_TO_SENDER, Const.PHOENIX);
6061
final Set<DatenFilm> films = zdfFilmDetailTask.invoke();
6162
films.forEach(
6263
film -> {

src/main/java/mServer/crawler/sender/zdf/ZdfCrawler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ protected RecursiveTask<Set<DatenFilm>> createCrawlerTask() {
6969
Set<CrawlerUrlDTO> shows = new HashSet<>(getDaysEntries(configuration));
7070
Log.sysLog(getSendername() + " Anzahl: " + shows.size());
7171
meldungAddMax(shows.size());
72-
return new ZdfFilmDetailTask(this, getApiUrlBase(), new ConcurrentLinkedQueue<>(shows), configuration.getVideoAuthKey(), ZdfConstants.PARTNER_TO_SENDER);
72+
return new ZdfFilmDetailTask(this, getApiUrlBase(), new ConcurrentLinkedQueue<>(shows), configuration.getVideoAuthKey(), ZdfConstants.PARTNER_TO_SENDER, Const.ZDF);
7373
}
7474
}
7575
} catch (final InterruptedException ex) {

src/main/java/mServer/crawler/sender/zdf/json/ZdfFilmDetailDeserializer.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package mServer.crawler.sender.zdf.json;
22

33
import com.google.gson.*;
4-
import de.mediathekview.mlib.Const;
54
import mServer.crawler.sender.base.JsonUtils;
65
import mServer.crawler.sender.base.UrlUtils;
76
import mServer.crawler.sender.zdf.ZdfFilmDtoOld;
@@ -59,10 +58,12 @@ public class ZdfFilmDetailDeserializer implements JsonDeserializer<Optional<ZdfF
5958

6059
private final String apiUrlBase;
6160
private final Map<String, String> partnerToSender;
61+
private final String defaultSender;
6262

63-
public ZdfFilmDetailDeserializer(final String apiUrlBase, Map<String, String> partnerToSender) {
63+
public ZdfFilmDetailDeserializer(final String apiUrlBase, Map<String, String> partnerToSender, String defaultSender) {
6464
this.apiUrlBase = apiUrlBase;
6565
this.partnerToSender = partnerToSender;
66+
this.defaultSender = defaultSender;
6667
}
6768

6869
@Override
@@ -107,7 +108,7 @@ public Optional<ZdfFilmDtoOld> deserialize(
107108
final Map<String, String> downloadUrl = parseDownloadUrls(mainVideoTarget);
108109

109110
if (title.isPresent() && downloadUrl.containsKey(DOWNLOAD_URL_DEFAULT)) {
110-
return Optional.of(new ZdfFilmDtoOld(partnerToSender.get(tvService.orElse(Const.ZDF)), downloadUrl.get(DOWNLOAD_URL_DEFAULT), topic, title.get(), description, website, time, duration, downloadUrl.get(DOWNLOAD_URL_DGS)));
111+
return Optional.of(new ZdfFilmDtoOld(partnerToSender.get(tvService.orElse(defaultSender)), downloadUrl.get(DOWNLOAD_URL_DEFAULT), topic, title.get(), description, website, time, duration, downloadUrl.get(DOWNLOAD_URL_DGS)));
111112
} else {
112113
LOG.error("ZdfFilmDetailDeserializer: no title or url found");
113114
}

src/main/java/mServer/crawler/sender/zdf/tasks/ZdfFilmDetailTask.java

Lines changed: 46 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import de.mediathekview.mlib.Config;
55
import de.mediathekview.mlib.daten.DatenFilm;
66
import de.mediathekview.mlib.tool.Log;
7+
import jakarta.ws.rs.client.WebTarget;
78
import mServer.crawler.CrawlerTool;
89
import mServer.crawler.sender.MediathekReader;
910
import mServer.crawler.sender.base.AbstractRecursivConverterTask;
@@ -17,7 +18,6 @@
1718
import org.apache.logging.log4j.LogManager;
1819
import org.apache.logging.log4j.Logger;
1920

20-
import jakarta.ws.rs.client.WebTarget;
2121
import java.lang.reflect.Type;
2222
import java.time.Duration;
2323
import java.time.LocalDateTime;
@@ -31,35 +31,62 @@ public class ZdfFilmDetailTask extends ZdfTaskBase<DatenFilm, CrawlerUrlDTO> {
3131
private static final Logger LOG = LogManager.getLogger(ZdfFilmDetailTask.class);
3232

3333
private static final Type OPTIONAL_FILM_TYPE_TOKEN
34-
= new TypeToken<Optional<ZdfFilmDtoOld>>() {
34+
= new TypeToken<Optional<ZdfFilmDtoOld>>() {
3535
}.getType();
3636
private static final Type OPTIONAL_DOWNLOAD_DTO_TYPE_TOKEN
37-
= new TypeToken<Optional<DownloadDto>>() {
37+
= new TypeToken<Optional<DownloadDto>>() {
3838
}.getType();
3939

4040
private static final DateTimeFormatter DATE_FORMAT
41-
= DateTimeFormatter.ofPattern("dd.MM.yyyy");
41+
= DateTimeFormatter.ofPattern("dd.MM.yyyy");
4242
private static final DateTimeFormatter TIME_FORMAT
43-
= DateTimeFormatter.ofPattern("HH:mm:ss");
43+
= DateTimeFormatter.ofPattern("HH:mm:ss");
4444

4545
private final transient ZdfVideoUrlOptimizer optimizer = new ZdfVideoUrlOptimizer();
4646
private final String apiUrlBase;
4747
private final Map<String, String> partnerToSender;
48+
private final String defaultSender;
4849

4950
public ZdfFilmDetailTask(
50-
final MediathekReader aCrawler,
51-
final String aApiUrlBase,
52-
final ConcurrentLinkedQueue<CrawlerUrlDTO> aUrlToCrawlDtos,
53-
final Optional<String> aAuthKey,
54-
final Map<String, String> partnerToSender) {
51+
final MediathekReader aCrawler,
52+
final String aApiUrlBase,
53+
final ConcurrentLinkedQueue<CrawlerUrlDTO> aUrlToCrawlDtos,
54+
final Optional<String> aAuthKey,
55+
final Map<String, String> partnerToSender,
56+
final String defaultSender) {
5557
super(aCrawler, aUrlToCrawlDtos, aAuthKey);
5658
apiUrlBase = aApiUrlBase;
5759
this.partnerToSender = partnerToSender;
60+
this.defaultSender = defaultSender;
5861

59-
registerJsonDeserializer(OPTIONAL_FILM_TYPE_TOKEN, new ZdfFilmDetailDeserializer(apiUrlBase, partnerToSender));
62+
registerJsonDeserializer(OPTIONAL_FILM_TYPE_TOKEN, new ZdfFilmDetailDeserializer(apiUrlBase, partnerToSender, defaultSender));
6063
registerJsonDeserializer(OPTIONAL_DOWNLOAD_DTO_TYPE_TOKEN, new ZdfDownloadDtoDeserializer());
6164
}
6265

66+
private static String updateTitle(final String aLanguage, final String aTitle) {
67+
String title = aTitle;
68+
switch (aLanguage) {
69+
case ZdfConstants.LANGUAGE_GERMAN:
70+
return title;
71+
case ZdfConstants.LANGUAGE_GERMAN_AD:
72+
title += " (Audiodeskription)";
73+
break;
74+
case ZdfConstants.LANGUAGE_GERMAN_DGS:
75+
title += " (Gebärdensprache)";
76+
break;
77+
case ZdfConstants.LANGUAGE_ENGLISH:
78+
title += " (Englisch)";
79+
break;
80+
case ZdfConstants.LANGUAGE_FRENCH:
81+
title += " (Französisch)";
82+
break;
83+
default:
84+
title += "(" + aLanguage + ")";
85+
}
86+
87+
return title;
88+
}
89+
6390
@Override
6491
protected void processRestTarget(final CrawlerUrlDTO aDto, final WebTarget aTarget) {
6592
if (Config.getStop()) {
@@ -70,8 +97,8 @@ protected void processRestTarget(final CrawlerUrlDTO aDto, final WebTarget aTarg
7097
final Optional<ZdfFilmDtoOld> film = deserializeOptional(aTarget, OPTIONAL_FILM_TYPE_TOKEN);
7198
if (film.isPresent()) {
7299
final Optional<DownloadDto> downloadDtoOptional
73-
= deserializeOptional(
74-
createWebTarget(film.get().getUrl()), OPTIONAL_DOWNLOAD_DTO_TYPE_TOKEN);
100+
= deserializeOptional(
101+
createWebTarget(film.get().getUrl()), OPTIONAL_DOWNLOAD_DTO_TYPE_TOKEN);
75102

76103
if (downloadDtoOptional.isPresent()) {
77104
final DownloadDto downloadDto = downloadDtoOptional.get();
@@ -106,47 +133,23 @@ private void appendSignLanguage(DownloadDto downloadDto, Optional<String> urlSig
106133

107134
@Override
108135
protected AbstractRecursivConverterTask<DatenFilm, CrawlerUrlDTO> createNewOwnInstance(
109-
final ConcurrentLinkedQueue<CrawlerUrlDTO> aElementsToProcess) {
110-
return new ZdfFilmDetailTask(crawler, apiUrlBase, aElementsToProcess, authKey, partnerToSender);
136+
final ConcurrentLinkedQueue<CrawlerUrlDTO> aElementsToProcess) {
137+
return new ZdfFilmDetailTask(crawler, apiUrlBase, aElementsToProcess, authKey, partnerToSender, defaultSender);
111138
}
112139

113140
private void addFilm(final DownloadDto downloadDto, final ZdfFilmDtoOld result) {
114141
for (final String language : downloadDto.getLanguages()) {
115142

116143
if (downloadDto.getUrl(language, Qualities.NORMAL).isPresent()) {
117144
DownloadDtoFilmConverter.getOptimizedUrls(
118-
downloadDto.getDownloadUrls(language), Optional.of(optimizer));
145+
downloadDto.getDownloadUrls(language), Optional.of(optimizer));
119146

120147
final DatenFilm filmWithLanguage = createFilm(result, downloadDto, language);
121148
taskResults.add(filmWithLanguage);
122149
}
123150
}
124151
}
125152

126-
private static String updateTitle(final String aLanguage, final String aTitle) {
127-
String title = aTitle;
128-
switch (aLanguage) {
129-
case ZdfConstants.LANGUAGE_GERMAN:
130-
return title;
131-
case ZdfConstants.LANGUAGE_GERMAN_AD:
132-
title += " (Audiodeskription)";
133-
break;
134-
case ZdfConstants.LANGUAGE_GERMAN_DGS:
135-
title += " (Gebärdensprache)";
136-
break;
137-
case ZdfConstants.LANGUAGE_ENGLISH:
138-
title += " (Englisch)";
139-
break;
140-
case ZdfConstants.LANGUAGE_FRENCH:
141-
title += " (Französisch)";
142-
break;
143-
default:
144-
title += "(" + aLanguage + ")";
145-
}
146-
147-
return title;
148-
}
149-
150153
private DatenFilm createFilm(final ZdfFilmDtoOld zdfFilmDto, final DownloadDto downloadDto, final String aLanguage) {
151154

152155
final String title = updateTitle(aLanguage, zdfFilmDto.getTitle());
@@ -161,9 +164,9 @@ private DatenFilm createFilm(final ZdfFilmDtoOld zdfFilmDto, final DownloadDto d
161164
Duration duration = zdfFilmDto.getDuration().orElse(downloadDto.getDuration().orElse(Duration.ZERO));
162165

163166
DatenFilm film = new ZdfDatenFilm(zdfFilmDto.getSender(),
164-
zdfFilmDto.getTopic().orElse(title),
165-
zdfFilmDto.getWebsite().orElse(""),
166-
title, downloadUrls.get(Qualities.NORMAL), "", dateValue, timeValue, duration.getSeconds(), zdfFilmDto.getDescription().orElse(""));
167+
zdfFilmDto.getTopic().orElse(title),
168+
zdfFilmDto.getWebsite().orElse(""),
169+
title, downloadUrls.get(Qualities.NORMAL), "", dateValue, timeValue, duration.getSeconds(), zdfFilmDto.getDescription().orElse(""));
167170
if (downloadUrls.containsKey(Qualities.SMALL)) {
168171
CrawlerTool.addUrlKlein(film, downloadUrls.get(Qualities.SMALL));
169172
}

0 commit comments

Comments
 (0)