@@ -81,32 +81,16 @@ protected AbstractRestTask<DatenFilm, ZdfFilmDto> createNewOwnInstance(
8181
8282 private void addFilm (final ZdfFilmDto zdfFilmDto , final DownloadDto downloadDto ) {
8383
84- String previousLanguage = null ;
85- DatenFilm previousMainFilm = null ;
8684 for (final String language : downloadDto .getLanguages ().stream ().sorted ().toList ()) {
8785// todo deu-ad bei audiodescription passt nicht im title
88- // todo kann der auskommentierte code hier weg?
89- /* if (previousLanguage != null && language.startsWith(previousLanguage)) {
90- final DatenFilm currentFilm = previousMainFilm;
91-
92- if (language.endsWith(ZdfConstants.LANGUAGE_SUFFIX_AD)) {
93- final Map<Qualities, String> urls =
94- getOptimizedUrls(downloadDto.getDownloadUrls(language));
95- urls.forEach(currentFilm::addAudioDescription);
96- } else if (language.endsWith(ZdfConstants.LANGUAGE_SUFFIX_DGS)) {
97- final Map<Qualities, String> urls =
98- getOptimizedUrls(downloadDto.getDownloadUrls(language));
99- urls.forEach(currentFilm::addSignLanguage);
100- } else {
101- LOG.debug("unknown language suffix: {}", language);
102- }
103- } else {*/
104- final DatenFilm filmWithLanguage = createFilm (zdfFilmDto , downloadDto , language );
86+ DownloadDtoFilmConverter .getOptimizedUrls (
87+ downloadDto .getDownloadUrls (language ), Optional .of (optimizer ));
88+
89+ final DatenFilm filmWithLanguage = createFilm (zdfFilmDto , downloadDto , language );
10590 setSubtitle (downloadDto , filmWithLanguage , language );
10691 setGeoLocation (downloadDto , filmWithLanguage );
10792
108- final Map <Qualities , String > urls =
109- getOptimizedUrls (downloadDto .getDownloadUrls (language ));
93+ final Map <Qualities , String > urls = downloadDto .getDownloadUrls (language );
11094 if (urls .containsKey (Qualities .SMALL )) {
11195 CrawlerTool .addUrlKlein (filmWithLanguage , urls .get (Qualities .SMALL ));
11296 }
@@ -117,35 +101,7 @@ private void addFilm(final ZdfFilmDto zdfFilmDto, final DownloadDto downloadDto)
117101 if (!taskResults .add (filmWithLanguage )) {
118102 LOG .error ("Rejected duplicate {}" , filmWithLanguage );
119103 }
120- previousMainFilm = filmWithLanguage ;
121- previousLanguage = language ;
122- //}
123- }
124- }
125-
126- private Map <Qualities , String > getOptimizedUrls (Map <Qualities , String > urls ) {
127- Map <Qualities , String > result = new EnumMap <>(Qualities .class );
128-
129- for (final Map .Entry <Qualities , String > qualitiesEntry : urls .entrySet ()) {
130- String url = qualitiesEntry .getValue ();
131-
132- if (qualitiesEntry .getKey () == Qualities .NORMAL ) {
133- url = optimizer .getOptimizedUrlNormal (url );
134- } else if (qualitiesEntry .getKey () == Qualities .HD ) {
135- url = optimizer .getOptimizedUrlHd (url );
136- }
137-
138- result .put (qualitiesEntry .getKey (), url );
139- }
140-
141- if (!result .containsKey (Qualities .HD )) {
142- final Optional <String > hdUrl = optimizer .determineUrlHd (result .get (Qualities .NORMAL ));
143- if (hdUrl .isPresent ()) {
144- result .put (
145- Qualities .HD , hdUrl .get ());
146- }
147104 }
148- return result ;
149105 }
150106
151107 private static void setSubtitle (DownloadDto downloadDto , DatenFilm filmWithLanguage , String language ) {
@@ -165,6 +121,12 @@ private static String updateTitle(final String aLanguage, final String aTitle) {
165121 switch (aLanguage ) {
166122 case ZdfConstants .LANGUAGE_GERMAN :
167123 break ;
124+ case ZdfConstants .LANGUAGE_GERMAN_AD :
125+ title += " (Audiodeskription)" ;
126+ break ;
127+ case ZdfConstants .LANGUAGE_GERMAN_DGS :
128+ title += " (Gebärdensprache)" ;
129+ break ;
168130 case ZdfConstants .LANGUAGE_ENGLISH :
169131 title += " (Englisch)" ;
170132 break ;
0 commit comments