Skip to content

Commit fdeaf02

Browse files
committed
zdf: fix sender erkennung
remove protected videos
2 parents f3fc235 + 4067b9b commit fdeaf02

File tree

5 files changed

+20
-2
lines changed

5 files changed

+20
-2
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.264'
30+
version = '3.1.265'
3131

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

src/main/java/mServer/crawler/sender/orfon/OrfOnVideoInfoDTO.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class OrfOnVideoInfoDTO {
1414
private Optional<String> titleWithDate;
1515
private Optional<String> topic;
1616
private Optional<String> topicForArchive;
17+
private Optional<String> drmProtected;
1718
private Optional<LocalDateTime> aired;
1819
private Optional<Duration> duration;
1920
private Optional<String> description;
@@ -28,6 +29,7 @@ public OrfOnVideoInfoDTO(
2829
Optional<String> titleWithDate,
2930
Optional<String> topic,
3031
Optional<String> topicForArchive,
32+
Optional<String> drmProtected,
3133
Optional<LocalDateTime> aired,
3234
Optional<Duration> duration,
3335
Optional<String> description,
@@ -41,6 +43,7 @@ public OrfOnVideoInfoDTO(
4143
this.titleWithDate = titleWithDate;
4244
this.topic = topic;
4345
this.topicForArchive = topicForArchive;
46+
this.drmProtected = drmProtected;
4447
this.aired = aired;
4548
this.duration = duration;
4649
this.description = description;
@@ -67,6 +70,9 @@ public Optional<String> getTopic() {
6770
public Optional<String> getTopicForArchive() {
6871
return topicForArchive;
6972
}
73+
public Optional<String> getDrmProtected() {
74+
return drmProtected;
75+
}
7076
public Optional<LocalDateTime> getAired() {
7177
return aired;
7278
}

src/main/java/mServer/crawler/sender/orfon/json/OrfOnEpisodeDeserializer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public class OrfOnEpisodeDeserializer implements JsonDeserializer<OrfOnVideoInfo
4141
private static final String TAG_VIDEO_QUALITY = "quality";
4242
private static final String TAG_VIDEO_FALLBACK = "sources";
4343
private static final String TAG_VIDEO_FALLBACK_URL = "src";
44+
private static final String TAG_DRM_PROTECTED = "is_drm_protected";
4445

4546
private static final String[] TAG_SUBTITLE_SECTION = {"_embedded", "subtitle"};
4647
private static final String TAG_SUBTITLE_TTML = "ttml_url";
@@ -88,6 +89,7 @@ public OrfOnVideoInfoDTO deserialize(
8889
JsonUtils.getElementValueAsString(jsonElement, TAG_TITLE_WITH_DATE),
8990
JsonUtils.getElementValueAsString(jsonElement, TAG_TOPIC),
9091
JsonUtils.getElementValueAsString(jsonElement, TAG_TOPIC_ARCHIVE),
92+
JsonUtils.getElementValueAsString(jsonElement, TAG_DRM_PROTECTED),
9193
parseAiredDate(JsonUtils.getElementValueAsString(jsonElement, TAG_AIRED)),
9294
parseDuration(JsonUtils.getElementValueAsString(jsonElement, TAG_DURATION)),
9395
JsonUtils.getElementValueAsString(jsonElement, TAG_DESCRIPTION),

src/main/java/mServer/crawler/sender/orfon/task/OrfOnEpisodeTask.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ protected void postProcessing(OrfOnVideoInfoDTO aResponseObj, OrfOnBreadCrumsUrl
6868
LOG.warn("Missing videoUrls for {}", aDTO);
6969
return;
7070
}
71+
if (aResponseObj.getDrmProtected().orElse("false").equalsIgnoreCase("true")) {
72+
LOG.warn("Ignore DRM Protected {}", aDTO);
73+
return;
74+
}
7175
if (aResponseObj.getDuration().isEmpty()) {
7276
LOG.warn("Missing duration for {}", aDTO);
7377
}

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,13 @@ public ZdfPubFormResult deserialize(
2727
JsonObject node = element.getAsJsonObject();
2828
Optional<String> sender = Optional.empty();
2929
if (!node.get("contentOwner").isJsonNull()) {
30-
sender = JsonUtils.getElementValueAsString(node.getAsJsonObject("contentOwner"), "title");
30+
final JsonObject contentOwner = node.getAsJsonObject("contentOwner");
31+
final Optional<String> details = JsonUtils.getAttributeAsString(contentOwner, "details");
32+
if (details.isPresent()) {
33+
sender = details;
34+
} else {
35+
sender = JsonUtils.getElementValueAsString(contentOwner, "title");
36+
}
3137
}
3238
final Optional<String> topic = JsonUtils.getElementValueAsString(node, "title");
3339
final Optional<String> countSeasons = JsonUtils.getElementValueAsString(node, "countSeasons");

0 commit comments

Comments
 (0)