@@ -53,15 +53,6 @@ public AddToFilmlist(ListeFilme vonListe, ListeFilme listeEinsortieren) {
5353 this .bannedFilmFilter = new BannedFilmFilter ();
5454 }
5555
56- private static String cutOutSrfParameterInUrl (String url ) {
57- int startIndex = url .indexOf ("/hdntl=exp" );
58- int endIndex = url .indexOf ("/index-f" );
59- if (endIndex > -1 && startIndex < endIndex ) {
60- url = url .substring (0 , startIndex ) + url .substring (endIndex );
61- }
62- return url ;
63- }
64-
6556 public synchronized void addLiveStream () {
6657 if (listeEinsortieren .size () <= 0 ) {
6758 return ;
@@ -134,16 +125,10 @@ private void performInitialCleanup() {
134125 });
135126 removeTimeFromMdrAktuell (listeEinsortieren );
136127 removeTimeFromOrf (listeEinsortieren );
137- updateAudioDescriptionOrf (listeEinsortieren );
138- updateAudioDescriptionSrf (listeEinsortieren );
139- updateAudioDescriptionZdf (listeEinsortieren );
140128 updateThema (listeEinsortieren );
141129 updateTitle (listeEinsortieren );
142130 updateArdWebsite (listeEinsortieren );
143- updateSenderTagesschau24 (listeEinsortieren );
144- updateFunkMissingHost (listeEinsortieren );
145131 updateGeoForNdrProgressiveGeo (listeEinsortieren );
146- removeSrfUrlParameter (listeEinsortieren );
147132 }
148133
149134 private void updateGeoForNdrProgressiveGeo (ListeFilme listeEinsortieren ) {
@@ -165,36 +150,6 @@ private boolean isArdUrlToRemove(final String url) {
165150 || url .startsWith ("https://pmdonlinekika-a.akamaihd.net" );
166151 }
167152
168- // check https://github.com/mediathekview/MServer/issues/904 for examples and more information
169- private void removeSrfUrlParameter (ListeFilme listeEinsortieren ) {
170- final List <DatenFilm > list = listeEinsortieren .parallelStream ()
171- .filter (film -> film .arr [DatenFilm .FILM_SENDER ].equals (Const .SRF ) && film .arr [DatenFilm .FILM_URL ].contains ("/hdntl=exp" ))
172- .collect (Collectors .toList ());
173- Log .sysLog ("SRF: remove url parameter für " + list .size () + " Einträge von " + listeEinsortieren .size ());
174-
175- list .forEach (film -> {
176- String url = film .arr [DatenFilm .FILM_URL ];
177- String urlKlein = film .arr [DatenFilm .FILM_URL_KLEIN ] == null || film .arr [DatenFilm .FILM_URL_KLEIN ].isEmpty () ? "" : film .getUrlFuerAufloesung (DatenFilm .AUFLOESUNG_KLEIN );
178- String urlGross = film .arr [DatenFilm .FILM_URL_HD ] == null || film .arr [DatenFilm .FILM_URL_HD ].isEmpty () ? "" : film .getUrlFuerAufloesung (DatenFilm .AUFLOESUNG_HD );
179- film .arr [DatenFilm .FILM_URL ] = cutOutSrfParameterInUrl (UrlUtils .removeParameters (url ));
180- CrawlerTool .addUrlKlein (film , cutOutSrfParameterInUrl (UrlUtils .removeParameters (urlKlein )));
181- CrawlerTool .addUrlHd (film , cutOutSrfParameterInUrl (UrlUtils .removeParameters (urlGross )));
182- });
183-
184-
185- }
186-
187- private void updateFunkMissingHost (ListeFilme listeEinsortieren ) {
188- final List <DatenFilm > list = listeEinsortieren .parallelStream ()
189- .filter (film -> film .arr [DatenFilm .FILM_SENDER ].equals ("Funk.net" ) && film .arr [DatenFilm .FILM_URL ].matches ("https:\\ /\\ /[0-9]*\\ /.*" ))
190- .collect (Collectors .toList ());
191- Log .sysLog ("FUNK: add missing host für " + list .size () + " Einträge." );
192- // ich glaube dies macht die urls (klein/dh) kaputt. Diese liegen in index Form (123|abc.mp4) vor und der index verschiebt sich wenn man die FILM_URL ändert
193- list .forEach (film -> film .arr [DatenFilm .FILM_URL ] = film .arr [DatenFilm .FILM_URL ].replace ("https://" , "https://funk-02.akamaized.net/" ).trim ());
194- list .forEach (film -> film .arr [DatenFilm .FILM_URL_KLEIN ] = film .arr [DatenFilm .FILM_URL_KLEIN ].replace ("https://" , "https://funk-02.akamaized.net/" ).trim ());
195- list .forEach (film -> film .arr [DatenFilm .FILM_URL_HD ] = film .arr [DatenFilm .FILM_URL_HD ].replace ("https://" , "https://funk-02.akamaized.net/" ).trim ());
196- }
197-
198153 private void updateThema (ListeFilme listeEinsortieren ) {
199154 listeEinsortieren .parallelStream ().forEach (film -> {
200155 final String thema = film .arr [DatenFilm .FILM_THEMA ].trim ();
@@ -222,59 +177,6 @@ private void updateArdWebsite(ListeFilme listeEinsortieren) {
222177 list .forEach (film -> film .arr [DatenFilm .FILM_WEBSEITE ] = film .arr [DatenFilm .FILM_WEBSEITE ].replace ("/ard/player/" , "/video/" ).trim ());
223178 }
224179
225- private void updateSenderTagesschau24 (ListeFilme listeEinsortieren ) {
226- final List <String > whiteListTagesschau24 = Arrays .stream (new String [] { "Ulrich Timm im Gespräch" , "tagesschau in Einfacher Sprache" , "tagesschau in 100 Sekunden" , "tagesschau24" }).toList ();
227- final List <DatenFilm > list = listeEinsortieren .parallelStream ()
228- .filter (film -> film .arr [DatenFilm .FILM_SENDER ].equals (Const .ARD ) && whiteListTagesschau24 .contains (film .arr [DatenFilm .FILM_THEMA ]))
229- .collect (Collectors .toList ());
230- Log .sysLog ("ARD: set sender tagesschau24 für " + list .size () + " Einträge." );
231-
232- list .forEach (film -> film .arr [DatenFilm .FILM_SENDER ] = Const .TAGESSCHAU24 );
233- }
234-
235- private void updateAudioDescriptionOrf (ListeFilme listeEinsortieren ) {
236- final List <DatenFilm > list = listeEinsortieren .parallelStream ()
237- .filter (
238- film -> film .arr [DatenFilm .FILM_SENDER ].equals (Const .ORF ) && film .arr [DatenFilm .FILM_THEMA ]
239- .startsWith ("AD |" ))
240- .collect (Collectors .toList ());
241- Log .sysLog ("ORF: update Thema/Titel für " + list .size () + " Einträge mit Audiodeskription." );
242- if (!list .isEmpty ()) {
243- list .forEach (film -> {
244- film .arr [DatenFilm .FILM_THEMA ] = film .arr [DatenFilm .FILM_THEMA ].replace ("AD |" , "" ).trim ();
245- film .arr [DatenFilm .FILM_TITEL ] = film .arr [DatenFilm .FILM_TITEL ].replace ("AD |" , "" ).trim () + " (Audiodeskription)" ;
246- });
247- }
248- }
249-
250- private void updateAudioDescriptionSrf (ListeFilme listeEinsortieren ) {
251- final List <DatenFilm > list = listeEinsortieren .parallelStream ()
252- .filter (
253- film -> film .arr [DatenFilm .FILM_SENDER ].equals (Const .SRF ) && film .arr [DatenFilm .FILM_THEMA ]
254- .contains ("mit Audiodeskription" ))
255- .collect (Collectors .toList ());
256- Log .sysLog ("SRF: update Thema/Titel für " + list .size () + " Einträge mit Audiodeskription." );
257- if (!list .isEmpty ()) {
258- list .forEach (film -> {
259- film .arr [DatenFilm .FILM_THEMA ] = film .arr [DatenFilm .FILM_THEMA ].replace ("mit Audiodeskription" , "" ).trim ();
260- film .arr [DatenFilm .FILM_TITEL ] = film .arr [DatenFilm .FILM_TITEL ].replace (" mit Audiodeskription" , "" ).trim () + " (Audiodeskription)" ;
261- });
262- }
263- }
264-
265- private void updateAudioDescriptionZdf (ListeFilme listeEinsortieren ) {
266- final List <DatenFilm > list = listeEinsortieren .parallelStream ()
267- .filter (
268- film -> film .arr [DatenFilm .FILM_TITEL ].contains ("(deu-ad)" ))
269- .toList ();
270- Log .sysLog ("ZDF: erstetze (deu-ad) mit " + list .size () + " (Audiodeskription)." );
271- if (!list .isEmpty ()) {
272- list .forEach (film -> {
273- film .arr [DatenFilm .FILM_TITEL ] = film .arr [DatenFilm .FILM_TITEL ].replace ("(deu-ad)" , " (Audiodeskription)" ).trim ();
274- });
275- }
276- }
277-
278180 private void removeTimeFromOrf (ListeFilme listeEinsortieren ) {
279181 final List <DatenFilm > list = listeEinsortieren .parallelStream ()
280182 .filter (
0 commit comments