Skip to content

Commit 23fc7aa

Browse files
committed
Throw ParsingException instead of IllegalArg
1 parent 7408173 commit 23fc7aa

3 files changed

Lines changed: 9 additions & 12 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCStreamExtractor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public List<AudioStream> getAudioStreams() throws ExtractionException {
131131
// Don't set the audio language in this case
132132
if (language != null && !language.contains("-")) {
133133
builder.setAudioLocale(LocaleCompat.forLanguageTag(language).orElseThrow(() ->
134-
new ExtractionException(
134+
new ParsingException(
135135
"Cannot convert this language to a locale: " + language)
136136
));
137137
}

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ public String getTextualUploadDate() throws ParsingException {
190190

191191
try { // Premiered 20 hours ago
192192
final TimeAgoParser timeAgoParser = TimeAgoPatternsManager.getTimeAgoParserFor(
193-
Localization.fromLocalizationCode("en").get());
193+
new Localization("en"));
194194
final OffsetDateTime parsedTime = timeAgoParser.parse(time).offsetDateTime();
195195
return DateTimeFormatter.ISO_LOCAL_DATE.format(parsedTime);
196196
} catch (final Exception ignored) {
@@ -1378,13 +1378,9 @@ private ItagInfo buildAndAddItagInfoToList(
13781378
final int audioTrackIdLastLocaleCharacter = audioTrackId.indexOf(".");
13791379
if (audioTrackIdLastLocaleCharacter != -1) {
13801380
// Audio tracks IDs are in the form LANGUAGE_CODE.TRACK_NUMBER
1381-
@Nullable final Locale locale =
1382-
LocaleCompat.forLanguageTag(
1383-
audioTrackId.substring(0, audioTrackIdLastLocaleCharacter
1384-
)).orElse(null);
1385-
if (locale != null) {
1386-
itagItem.setAudioLocale(locale);
1387-
}
1381+
LocaleCompat.forLanguageTag(
1382+
audioTrackId.substring(0, audioTrackIdLastLocaleCharacter)
1383+
).ifPresent(itagItem::setAudioLocale);
13881384
}
13891385
itagItem.setAudioTrackType(YoutubeParsingHelper.extractAudioTrackType(streamUrl));
13901386
}

extractor/src/main/java/org/schabi/newpipe/extractor/stream/SubtitlesStream.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.schabi.newpipe.extractor.stream;
22

33
import org.schabi.newpipe.extractor.MediaFormat;
4+
import org.schabi.newpipe.extractor.exceptions.ParsingException;
45
import org.schabi.newpipe.extractor.services.youtube.ItagItem;
56
import org.schabi.newpipe.extractor.utils.LocaleCompat;
67

@@ -170,7 +171,7 @@ public Builder setAutoGenerated(final boolean autoGenerated) {
170171
* not set, or have been set as {@code null}
171172
*/
172173
@Nonnull
173-
public SubtitlesStream build() {
174+
public SubtitlesStream build() throws ParsingException {
174175
if (content == null) {
175176
throw new IllegalStateException("No valid content was specified. Please specify a "
176177
+ "valid one with setContent.");
@@ -229,10 +230,10 @@ private SubtitlesStream(@Nonnull final String id,
229230
@Nonnull final DeliveryMethod deliveryMethod,
230231
@Nonnull final String languageCode,
231232
final boolean autoGenerated,
232-
@Nullable final String manifestUrl) {
233+
@Nullable final String manifestUrl) throws ParsingException {
233234
super(id, content, isUrl, mediaFormat, deliveryMethod, manifestUrl);
234235
this.locale = LocaleCompat.forLanguageTag(languageCode).orElseThrow(
235-
() -> new IllegalArgumentException(
236+
() -> new ParsingException(
236237
"not a valid locale language code: " + languageCode));
237238
this.code = languageCode;
238239
this.format = mediaFormat;

0 commit comments

Comments
 (0)