32
32
public class MediathekArte_de extends MediathekReader implements Runnable {
34
public static final String SENDER_ARTE_DE = "ARTE.DE";
35
public static final String SENDER_ARTE_FR = "ARTE.FR";
34
public final static String SENDERNAME = "ARTE.DE";
36
36
// "Freitag, 02. August um 12:41 Uhr"
37
37
SimpleDateFormat sdfZeit = new SimpleDateFormat("HH:mm:ss");
38
38
SimpleDateFormat sdfDatum = new SimpleDateFormat("dd.MM.yyyy");
39
39
String URL_ARTE = "http://www.arte.tv/papi/tvguide/epg/schedule/D/L3/";
40
40
String URL_CONCERT = "http://concert.arte.tv/de/videos/all";
41
String URL_CONCERT_NOT_CONTAIN = "-STF";
42
43
public MediathekArte_de(MSFilmeSuchen ssearch, int startPrio) {
43
super(ssearch, /* name */ SENDER_ARTE_DE, /* threads */ 2, /* urlWarten */ 500, startPrio);
44
super(ssearch, SENDERNAME,/* threads */ 2, /* urlWarten */ 500, startPrio);
45
getUrlIo.setTimeout(15000);
48
public MediathekArte_de(MSFilmeSuchen ssearch, int startPrio, String name) {
49
super(ssearch, name,/* threads */ 2, /* urlWarten */ 500, startPrio);
44
50
getUrlIo.setTimeout(15000);
129
136
urlStart = URL_CONCERT;
131
138
meldungProgress(urlStart);
132
seite1 = getUrlIo.getUri_Utf(nameSenderMReader, urlStart, seite1, "");
139
seite1 = getUrlIo.getUri_Utf(sendername, urlStart, seite1, "");
134
String url, urlWeb, titel, urlHd, urlLow, urlNormal, beschreibung, datum, dauer;
141
String url, urlWeb, titel, urlHd = "", urlLow = "", urlNormal = "", beschreibung, datum, dauer;
135
142
while (!MSConfig.getStop() && (pos1 = seite1.indexOf(MUSTER_START, pos1)) != -1) {
136
146
pos1 += MUSTER_START.length();
138
148
url = seite1.extract("<a href=\"", "\"", pos1);
157
167
urlWeb = "http://concert.arte.tv" + url;
159
seite2 = getUrlIo.getUri_Utf(nameSenderMReader, urlWeb, seite2, "");
169
seite2 = getUrlIo.getUri_Utf(sendername, urlWeb, seite2, "");
170
// genre: <span class="tag tag-link"><a href="/de/videos/rockpop">rock/pop</a></span>
171
String genre = seite2.extract("<span class=\"tag tag-link\">", "\">", "<");
172
if (!genre.isEmpty()) {
173
beschreibung = genre + "\n" + DatenFilm.cleanDescription(beschreibung, THEMA, titel);
160
175
url = seite2.extract("arte_vp_url=\"", "\"");
161
176
if (url.isEmpty()) {
162
177
MSLog.fehlerMeldung(-784512698, MSLog.FEHLER_ART_MREADER, "MediathekARTE.addConcert", "keine URL");
164
seite2 = getUrlIo.getUri_Utf(nameSenderMReader, url, seite2, "");
165
urlLow = seite2.extract("\"bitrate\":800", "\"url\":\"", "\"").replace("\\", "");
166
if (urlLow.endsWith(".m3u8")) {
167
urlLow = seite2.extractLast("\"bitrate\":800", "\"url\":\"", "\"").replace("\\", "");
169
urlNormal = seite2.extract("\"bitrate\":1500", "\"url\":\"", "\"").replace("\\", "");
170
if (urlNormal.endsWith(".m3u8")) {
171
urlNormal = seite2.extractLast("\"bitrate\":1500", "\"url\":\"", "\"").replace("\\", "");
173
urlHd = seite2.extract("\"bitrate\":2200", "\"url\":\"", "\"").replace("\\", "");
174
if (urlHd.endsWith(".m3u8")) {
175
urlHd = seite2.extractLast("\"bitrate\":2200", "\"url\":\"", "\"").replace("\\", "");
179
seite2 = getUrlIo.getUri_Utf(sendername, url, seite2, "");
181
String a = "\"bitrate\":800";
182
String b = "\"url\":\"";
184
while ((p1 = seite2.indexOf(a, p1)) != -1) {
186
urlLow = seite2.extract(b, c, p1).replace("\\", "");
187
if (urlLow.endsWith(".m3u8")) {
191
if (!urlLow.contains(URL_CONCERT_NOT_CONTAIN)) {
195
a = "\"bitrate\":1500";
197
while ((p1 = seite2.indexOf(a, p1)) != -1) {
199
urlNormal = seite2.extract(b, c, p1).replace("\\", "");
200
if (urlNormal.endsWith(".m3u8")) {
204
if (!urlNormal.contains(URL_CONCERT_NOT_CONTAIN)) {
208
a = "\"bitrate\":2200";
210
while ((p1 = seite2.indexOf(a, p1)) != -1) {
212
urlHd = seite2.extract(b, c, p1).replace("\\", "");
213
if (urlHd.endsWith(".m3u8")) {
217
if (!urlHd.contains(URL_CONCERT_NOT_CONTAIN)) {
177
222
if (urlNormal.isEmpty()) {
178
223
urlNormal = urlLow;
182
227
if (urlNormal.isEmpty()) {
183
228
MSLog.fehlerMeldung(-989562301, MSLog.FEHLER_ART_MREADER, "MediathekARTE.addConcert", "keine URL");
185
DatenFilm film = new DatenFilm(nameSenderMReader, "Concert", urlWeb, titel, urlNormal, "" /*urlRtmp*/,
230
DatenFilm film = new DatenFilm(sendername, THEMA, urlWeb, titel, urlNormal, "" /*urlRtmp*/,
186
231
datum, "" /*zeit*/, duration, beschreibung, ""/*bild*/, new String[]{});
187
232
if (!urlHd.isEmpty()) {
188
233
film.addUrlHd(urlHd, "");
190
// if (!urlLow.isEmpty()) {
191
// film.addUrlKlein(urlLow, "");
235
if (!urlLow.isEmpty()) {
236
film.addUrlKlein(urlLow, "");
233
278
final String MUSTER_TITEL = "\"TIT\":\"";
234
279
final String MUSTER_THEMA = "\"GEN\":\"";
236
seite1 = getUrlIo.getUri_Utf(nameSenderMReader, startUrl, seite1, "");
281
seite1 = getUrlIo.getUri_Utf(sendername, startUrl, seite1, "");
237
282
int posStart = 0, posStop;
359
seite = getUrlIo.getUri_Utf(nameSenderMReader, arr[0], seite, "");
404
seite = getUrlIo.getUri_Utf(sendername, arr[0], seite, "");
360
405
if ((pos1 = seite.indexOf(MUSTER_BILD)) != -1) {
361
406
pos1 += MUSTER_BILD.length();
362
407
if ((pos2 = seite.indexOf("\"", pos1)) != -1) {
422
467
if (!url.endsWith("EXTRAIT.mp4")) {
423
468
// http://artestras.vo.llnwxd.net/o35/nogeo/HBBTV/042975-013-B_EXT_SQ_1_VA_00604871_MP4-2200_AMM-HBBTV_EXTRAIT.mp4
424
469
// sind nur Trailer
425
DatenFilm film = new DatenFilm(nameSenderMReader, thema, filmWebsite, titel, url, "" /*urlRtmp*/,
470
DatenFilm film = new DatenFilm(sendername, thema, filmWebsite, titel, url, "" /*urlRtmp*/,
426
471
datum, zeit, dauer, beschreibung, bild, new String[]{});
427
472
if (!urlKlein.isEmpty()) {
428
473
film.addUrlKlein(urlKlein, "");
435
480
} else if (!urlKlein.isEmpty()) {
436
DatenFilm film = new DatenFilm(nameSenderMReader, thema, filmWebsite, titel, urlKlein, "" /*urlRtmp*/,
481
DatenFilm film = new DatenFilm(sendername, thema, filmWebsite, titel, urlKlein, "" /*urlRtmp*/,
437
482
datum, zeit, dauer, beschreibung, bild, new String[]{});
438
483
if (!urlHd.isEmpty()) {
439
484
film.addUrlHd(urlHd, "");
442
487
} else if (!urlHd.isEmpty()) {
443
DatenFilm film = new DatenFilm(nameSenderMReader, thema, filmWebsite, titel, urlHd, "" /*urlRtmp*/,
488
DatenFilm film = new DatenFilm(sendername, thema, filmWebsite, titel, urlHd, "" /*urlRtmp*/,
444
489
datum, zeit, dauer, beschreibung, bild, new String[]{});