Skip to content

Commit 4a0c5d3

Browse files
committed
Sender korrekturen und ARD Anpassungen
2 parents e0139db + 154286b commit 4a0c5d3

14 files changed

+311
-139
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.232'
30+
version = '3.1.233'
3131

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

src/main/java/mServer/crawler/FilmeSuchen.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,15 @@ public synchronized void filmeBeimSenderLaden(ListeFilme listeFilme) {
139139
initStart(listeFilme);
140140
// die mReader nach Prio starten
141141
mrStarten(0);
142-
if (!Config.getStop()) {
143-
// waren und wenn Suchlauf noch nicht abgebrochen weiter mit dem Rest
144-
mrWarten(4*60);//4*60);
145-
mrStarten(1);
142+
if (mediathekListe.stream().filter(mr -> mr.getStartPrio() == 1).count() == 0) {
146143
allStarted = true;
144+
} else {
145+
if (!Config.getStop()) {
146+
// waren und wenn Suchlauf noch nicht abgebrochen weiter mit dem Rest
147+
mrWarten(4*60);//4*60);
148+
mrStarten(1);
149+
allStarted = true;
150+
}
147151
}
148152
}
149153

src/main/java/mServer/crawler/sender/ard/ArdConstants.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ public class ArdConstants {
55
public static final String API_URL = "https://api.ardmediathek.de";
66
public static final String BASE_URL = "https://api.ardmediathek.de/public-gateway";
77

8-
public static final String ITEM_URL = API_URL + "/page-gateway/pages/ard/item/";
8+
public static final String ITEM_URL = API_URL + "/page-gateway/pages/ard/item/%s?embedded=true&mcV6=true";
99

1010
public static final String TOPICS_URL = API_URL + "/page-gateway/pages/%s/editorial/experiment-a-z?embedded=false";
1111
public static final String TOPICS_COMPILATION_URL = API_URL + "/page-gateway/widgets/%s/editorials/%s?pageNumber=0&pageSize=%s";
@@ -37,6 +37,8 @@ public class ArdConstants {
3737
"phoenix"
3838
};
3939

40+
public static final String[] IGNORED_SENDER = new String[] {"zdf", "kika", "3sat", "arte"};
41+
4042
public static final String WEBSITE_URL = "https://www.ardmediathek.de/video/%s";
4143

4244
public static final String BASE_URL_SUBTITLES = "https://classic.ardmediathek.de";

src/main/java/mServer/crawler/sender/ard/ArdCrawler.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ protected synchronized void meldungThreadUndFertig() {
4242
mlibFilmeSuchen.meldenFertig(Const.HR);
4343
mlibFilmeSuchen.meldenFertig(Const.BR);
4444
mlibFilmeSuchen.meldenFertig("rbtv");
45+
mlibFilmeSuchen.meldenFertig("ONE");
46+
mlibFilmeSuchen.meldenFertig("ARD-alpha");
47+
mlibFilmeSuchen.meldenFertig("Funk.net");
48+
mlibFilmeSuchen.meldenFertig(Const.SR);
49+
mlibFilmeSuchen.meldenFertig(Const.PHOENIX);
4550
}
4651

4752
super.meldungThreadUndFertig();
Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
11
package mServer.crawler.sender.ard.json;
22

3-
import com.google.gson.JsonArray;
4-
import com.google.gson.JsonDeserializationContext;
5-
import com.google.gson.JsonDeserializer;
6-
import com.google.gson.JsonElement;
7-
import com.google.gson.JsonObject;
3+
import com.google.gson.*;
4+
5+
import mServer.crawler.sender.ard.ArdFilmInfoDto;
6+
87
import java.lang.reflect.Type;
98
import java.util.HashSet;
109
import java.util.Set;
11-
import mServer.crawler.sender.ard.ArdFilmInfoDto;
1210

13-
public class ArdDayPageDeserializer extends ArdTeasersDeserializer implements JsonDeserializer<Set<ArdFilmInfoDto>> {
11+
public class ArdDayPageDeserializer extends ArdTeasersDeserializer
12+
implements JsonDeserializer<Set<ArdFilmInfoDto>> {
1413

1514
private static final String ELEMENT_TEASERS = "teasers";
1615

1716
@Override
18-
public Set<ArdFilmInfoDto> deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext context) {
19-
Set<ArdFilmInfoDto> results = new HashSet<>();
17+
public Set<ArdFilmInfoDto> deserialize(
18+
final JsonElement jsonElement, final Type type, final JsonDeserializationContext context) {
19+
final Set<ArdFilmInfoDto> results = new HashSet<>();
2020

2121
if (!jsonElement.isJsonArray()) {
2222
return results;
2323
}
2424

25-
JsonObject element0 = jsonElement.getAsJsonArray().get(0).getAsJsonObject();
25+
final JsonObject firstElement = jsonElement.getAsJsonArray().get(0).getAsJsonObject();
2626

27-
if (element0.has(ELEMENT_TEASERS)) {
28-
JsonArray teasers = element0.get(ELEMENT_TEASERS).getAsJsonArray();
27+
if (firstElement.has(ELEMENT_TEASERS)) {
28+
final JsonArray teasers = firstElement.get(ELEMENT_TEASERS).getAsJsonArray();
2929
results.addAll(parseTeasers(teasers));
3030
}
3131

3232
return results;
3333
}
34-
3534
}
Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package mServer.crawler.sender.ard.json;
22

3-
import com.google.gson.JsonArray;
4-
import com.google.gson.JsonDeserializationContext;
5-
import com.google.gson.JsonDeserializer;
6-
import com.google.gson.JsonElement;
7-
import com.google.gson.JsonObject;
3+
import com.google.gson.*;
4+
5+
import mServer.crawler.sender.base.JsonUtils;
6+
87
import java.lang.reflect.Type;
98
import java.util.Optional;
10-
import mServer.crawler.sender.base.JsonUtils;
119

1210
public class ArdErrorDeserializer implements JsonDeserializer<Optional<ArdErrorInfoDto>> {
1311

@@ -17,29 +15,32 @@ public class ArdErrorDeserializer implements JsonDeserializer<Optional<ArdErrorI
1715
private static final String ELEMENT_EXTENSIONS = "extensions";
1816

1917
@Override
20-
public Optional<ArdErrorInfoDto> deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext context) {
18+
public Optional<ArdErrorInfoDto> deserialize(
19+
final JsonElement jsonElement, final Type type, final JsonDeserializationContext context) {
2120

2221
if (!JsonUtils.hasElements(jsonElement, ELEMENT_ERRORS)) {
2322
return Optional.empty();
2423
}
2524

26-
JsonArray errors = jsonElement.getAsJsonObject().get(ELEMENT_ERRORS).getAsJsonArray();
25+
final JsonArray errors = jsonElement.getAsJsonObject().get(ELEMENT_ERRORS).getAsJsonArray();
2726
if (errors.size() > 0) {
2827
return parseError(errors.get(0).getAsJsonObject());
2928
}
3029

3130
return Optional.empty();
3231
}
3332

34-
private Optional<ArdErrorInfoDto> parseError(JsonObject error) {
35-
Optional<String> message = JsonUtils.getAttributeAsString(error, ATTRIBUTE_MESSAGE);
33+
private Optional<ArdErrorInfoDto> parseError(final JsonObject error) {
34+
final Optional<String> message = JsonUtils.getAttributeAsString(error, ATTRIBUTE_MESSAGE);
3635
Optional<String> code = Optional.empty();
3736

3837
if (JsonUtils.hasElements(error, ELEMENT_EXTENSIONS)) {
39-
code = JsonUtils.getAttributeAsString(error.get(ELEMENT_EXTENSIONS).getAsJsonObject(), ATTRIBUTE_CODE);
38+
code =
39+
JsonUtils.getAttributeAsString(
40+
error.get(ELEMENT_EXTENSIONS).getAsJsonObject(), ATTRIBUTE_CODE);
4041
}
4142

42-
ArdErrorInfoDto result = new ArdErrorInfoDto(code.orElse(""), message.orElse(""));
43+
final ArdErrorInfoDto result = new ArdErrorInfoDto(code.orElse(""), message.orElse(""));
4344
return Optional.of(result);
4445
}
4546
}

src/main/java/mServer/crawler/sender/ard/json/ArdErrorInfoDto.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
public class ArdErrorInfoDto {
66

7-
private String code;
8-
private String message;
7+
private final String code;
8+
private final String message;
99

10-
public ArdErrorInfoDto(String code, String message) {
10+
public ArdErrorInfoDto(final String code, final String message) {
1111
this.code = code;
1212
this.message = message;
1313
}
@@ -21,14 +21,13 @@ public String getCode() {
2121
}
2222

2323
@Override
24-
public boolean equals(Object o) {
24+
public boolean equals(final Object o) {
2525
if (this == o) {
2626
return true;
2727
}
28-
if (!(o instanceof ArdErrorInfoDto)) {
28+
if (!(o instanceof ArdErrorInfoDto that)) {
2929
return false;
3030
}
31-
ArdErrorInfoDto that = (ArdErrorInfoDto) o;
3231
return Objects.equals(code, that.code) &&
3332
Objects.equals(message, that.message);
3433
}

0 commit comments

Comments
 (0)