mirror of
https://github.com/TeamNewPipe/NewPipeExtractor
synced 2025-08-28 21:07:57 +00:00
Compare commits
No commits in common. "dev" and "v0.24.8" have entirely different histories.
@ -68,10 +68,10 @@ subprojects {
|
|||||||
|
|
||||||
// https://discuss.gradle.org/t/best-approach-gradle-multi-module-project-generate-just-one-global-javadoc/18657/21
|
// https://discuss.gradle.org/t/best-approach-gradle-multi-module-project-generate-just-one-global-javadoc/18657/21
|
||||||
tasks.register('aggregatedJavadocs', Javadoc) {
|
tasks.register('aggregatedJavadocs', Javadoc) {
|
||||||
destinationDir = layout.buildDirectory.file("docs/javadoc").get().asFile
|
destinationDir = file("${layout.buildDirectory}/docs/javadoc")
|
||||||
title = "$project.name $version"
|
title = "$project.name $version"
|
||||||
// options.memberLevel = JavadocMemberLevel.PRIVATE
|
// options.memberLevel = JavadocMemberLevel.PRIVATE
|
||||||
options.links 'https://docs.oracle.com/javase/11/docs/api/'
|
options.links 'https://docs.oracle.com/javase/8/docs/api/'
|
||||||
options.encoding 'UTF-8'
|
options.encoding 'UTF-8'
|
||||||
// Fixes unknown tag @implNote; the other two were added precautionary
|
// Fixes unknown tag @implNote; the other two were added precautionary
|
||||||
options.tags = [
|
options.tags = [
|
||||||
|
@ -28,14 +28,14 @@ checkstyleTest {
|
|||||||
|
|
||||||
ext {
|
ext {
|
||||||
rhinoVersion = '1.8.0'
|
rhinoVersion = '1.8.0'
|
||||||
protobufVersion = '4.32.0'
|
protobufVersion = '4.31.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation project(':timeago-parser')
|
implementation project(':timeago-parser')
|
||||||
|
|
||||||
implementation "com.github.TeamNewPipe:nanojson:$nanojsonVersion"
|
implementation "com.github.TeamNewPipe:nanojson:$nanojsonVersion"
|
||||||
implementation 'org.jsoup:jsoup:1.21.2'
|
implementation 'org.jsoup:jsoup:1.21.1'
|
||||||
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
|
implementation "com.google.code.findbugs:jsr305:$jsr305Version"
|
||||||
implementation "com.google.protobuf:protobuf-javalite:$protobufVersion"
|
implementation "com.google.protobuf:protobuf-javalite:$protobufVersion"
|
||||||
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
package org.schabi.newpipe.extractor.exceptions;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Content can't be extracted because the service requires logging in to confirm the user is not a
|
|
||||||
* bot. Can usually only be solvable by changing IP (e.g. in the case of YouTube).
|
|
||||||
*/
|
|
||||||
public class SignInConfirmNotBotException extends ParsingException {
|
|
||||||
public SignInConfirmNotBotException(final String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
}
|
|
@ -53,7 +53,6 @@ import org.schabi.newpipe.extractor.exceptions.PaidContentException;
|
|||||||
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
||||||
import org.schabi.newpipe.extractor.exceptions.PrivateContentException;
|
import org.schabi.newpipe.extractor.exceptions.PrivateContentException;
|
||||||
import org.schabi.newpipe.extractor.exceptions.YoutubeMusicPremiumContentException;
|
import org.schabi.newpipe.extractor.exceptions.YoutubeMusicPremiumContentException;
|
||||||
import org.schabi.newpipe.extractor.exceptions.SignInConfirmNotBotException;
|
|
||||||
import org.schabi.newpipe.extractor.linkhandler.LinkHandler;
|
import org.schabi.newpipe.extractor.linkhandler.LinkHandler;
|
||||||
import org.schabi.newpipe.extractor.localization.ContentCountry;
|
import org.schabi.newpipe.extractor.localization.ContentCountry;
|
||||||
import org.schabi.newpipe.extractor.localization.DateWrapper;
|
import org.schabi.newpipe.extractor.localization.DateWrapper;
|
||||||
@ -902,14 +901,7 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// "Sign in to confirm that you're not a bot"
|
throw new ContentNotAvailableException("Got error: \"" + reason + "\"");
|
||||||
if (reason != null && reason.contains("a bot")) {
|
|
||||||
throw new SignInConfirmNotBotException(
|
|
||||||
"YouTube probably temporarily blocked this IP, got error "
|
|
||||||
+ status + ": \"" + reason + "\"");
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new ContentNotAvailableException("Got error " + status + ": \"" + reason + "\"");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fetchHtml5Client(@Nonnull final Localization localization,
|
private void fetchHtml5Client(@Nonnull final Localization localization,
|
||||||
|
@ -26,7 +26,7 @@ import javax.annotation.Nullable;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Note:
|
* Note:
|
||||||
* This extractor is currently (2025-07) only used to extract related video streams.<br>
|
* This extractor is currently (2025-07) only used to extract related video streams.<br/>
|
||||||
* The following features are currently not implemented because they have never been observed:
|
* The following features are currently not implemented because they have never been observed:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Shorts</li>
|
* <li>Shorts</li>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user