@@ -161,21 +161,24 @@ public String getName() throws ParsingException {
161161 return metadataRendererTitle ;
162162 }
163163
164- return channelHeader .flatMap (header -> {
164+ return channelHeader .map (header -> {
165165 final JsonObject channelJson = header .json ;
166166 switch (header .headerType ) {
167167 case PAGE :
168- return Optional . ofNullable ( channelJson .getObject ("content" )
168+ return channelJson .getObject ("content" )
169169 .getObject ("pageHeaderViewModel" )
170170 .getObject ("title" )
171171 .getObject ("dynamicTextViewModel" )
172172 .getObject ("text" )
173- .getString ("content" , channelJson .getString ("pageTitle" )));
173+ .getString ("content" , channelJson .getString ("pageTitle" ));
174+
174175 case CAROUSEL :
175176 case INTERACTIVE_TABBED :
176- return Optional .ofNullable (getTextFromObject (channelJson .getObject ("title" )));
177+ return getTextFromObject (channelJson .getObject ("title" ));
178+
179+ case C4_TABBED :
177180 default :
178- return Optional . ofNullable ( channelJson .getString ("title" ) );
181+ return channelJson .getString ("title" );
179182 }
180183 })
181184 // The channel name from a microformatDataRenderer may be different from the one displayed,
@@ -200,36 +203,34 @@ public String getAvatarUrl() throws ParsingException {
200203 }
201204
202205 return channelHeader .map (header -> {
203- final HeaderType headerType = header .headerType ;
204- if (headerType == HeaderType .PAGE ) {
205- return Optional .ofNullable (header .json .getObject ("content" )
206- .getObject ("pageHeaderViewModel" )
207- .getObject ("image" )
208- .getObject ("contentPreviewImageViewModel" )
209- .getObject ("image" )
210- .getArray ("sources" )
211- .getObject (0 )
212- .getString ("url" ))
213- .map (YoutubeParsingHelper ::fixThumbnailUrl )
214- .orElse (null );
215- }
206+ switch (header .headerType ) {
207+ case PAGE :
208+ return header .json .getObject ("content" )
209+ .getObject ("pageHeaderViewModel" )
210+ .getObject ("image" )
211+ .getObject ("contentPreviewImageViewModel" )
212+ .getObject ("image" )
213+ .getArray ("sources" )
214+ .getObject (0 )
215+ .getString ("url" );
216216
217- if (headerType == HeaderType .INTERACTIVE_TABBED ) {
218- return Optional .ofNullable (header .json .getObject ("boxArt" )
219- .getArray ("thumbnails" )
220- .getObject (0 )
221- .getString ("url" ))
222- .map (YoutubeParsingHelper ::fixThumbnailUrl )
223- .orElse (null );
224- }
217+ case INTERACTIVE_TABBED :
218+ return header .json .getObject ("boxArt" )
219+ .getArray ("thumbnails" )
220+ .getObject (0 )
221+ .getString ("url" );
225222
226- return Optional .ofNullable (header .json .getObject ("avatar" )
227- .getArray ("thumbnails" )
228- .getObject (0 )
229- .getString ("url" ))
230- .map (YoutubeParsingHelper ::fixThumbnailUrl )
231- .orElse (null );
232- }).orElseThrow (() -> new ParsingException ("Could not get avatar URL" ));
223+ case C4_TABBED :
224+ case CAROUSEL :
225+ default :
226+ return header .json .getObject ("avatar" )
227+ .getArray ("thumbnails" )
228+ .getObject (0 )
229+ .getString ("url" );
230+ }
231+ })
232+ .map (YoutubeParsingHelper ::fixThumbnailUrl )
233+ .orElseThrow (() -> new ParsingException ("Could not get avatar URL" ));
233234 }
234235
235236 @ Override
0 commit comments