diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItem.java b/extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItem.java index 06ce84c447..b420ad01e3 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItem.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItem.java @@ -12,6 +12,7 @@ public class CommentsInfoItem extends InfoItem { private String uploaderName; private String uploaderAvatarUrl; private String uploaderUrl; + private boolean uploaderVerified; private String textualUploadDate; @Nullable private DateWrapper uploadDate; @@ -94,4 +95,12 @@ public void setHeartedByUploader(boolean isHeartedByUploader) { public boolean getHeartedByUploader() { return this.heartedByUploader; } + + public void setUploaderVerified(boolean uploaderVerified) { + this.uploaderVerified = uploaderVerified; + } + + public boolean getUploaderVerified() { + return uploaderVerified; + } } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItemExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItemExtractor.java index ff56204f28..c1b3dc85a4 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItemExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItemExtractor.java @@ -11,6 +11,7 @@ public interface CommentsInfoItemExtractor extends InfoItemExtractor { /** * Return the like count of the comment, or -1 if it's unavailable + * * @see StreamExtractor#getLikeCount() */ int getLikeCount() throws ParsingException; @@ -22,12 +23,14 @@ public interface CommentsInfoItemExtractor extends InfoItemExtractor { /** * The upload date given by the service, unmodified + * * @see StreamExtractor#getTextualUploadDate() */ String getTextualUploadDate() throws ParsingException; /** * The upload date wrapped with DateWrapper class + * * @see StreamExtractor#getUploadDate() */ @Nullable @@ -45,4 +48,9 @@ public interface CommentsInfoItemExtractor extends InfoItemExtractor { * Whether the comment has been hearted by the uploader */ boolean getHeartedByUploader() throws ParsingException; + + /** + * Whether the uploader is verified by the service + */ + boolean getUploaderVerified() throws ParsingException; } diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeCommentsInfoItemExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeCommentsInfoItemExtractor.java index 95b304dc45..318a81bea3 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeCommentsInfoItemExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeCommentsInfoItemExtractor.java @@ -1,7 +1,6 @@ package org.schabi.newpipe.extractor.services.peertube.extractors; import com.grack.nanojson.JsonObject; - import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.schabi.newpipe.extractor.ServiceList; @@ -93,6 +92,11 @@ public boolean getHeartedByUploader() throws ParsingException { return false; } + @Override + public boolean getUploaderVerified() throws ParsingException { + return false; + } + @Override public String getUploaderName() throws ParsingException { return JsonUtils.getString(item, "account.name") + "@" + JsonUtils.getString(item, "account.host"); diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudCommentsInfoItemExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudCommentsInfoItemExtractor.java index b164ca45af..ff0705894c 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudCommentsInfoItemExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudCommentsInfoItemExtractor.java @@ -6,9 +6,8 @@ import org.schabi.newpipe.extractor.localization.DateWrapper; import org.schabi.newpipe.extractor.services.soundcloud.SoundcloudParsingHelper; -import java.util.Objects; - import javax.annotation.Nullable; +import java.util.Objects; public class SoundcloudCommentsInfoItemExtractor implements CommentsInfoItemExtractor { private JsonObject json; @@ -44,6 +43,11 @@ public boolean getHeartedByUploader() throws ParsingException { return false; } + @Override + public boolean getUploaderVerified() throws ParsingException { + return json.getObject("user").getBoolean("verified"); + } + @Override public String getUploaderUrl() { return json.getObject("user").getString("permalink_url"); diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsInfoItemExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsInfoItemExtractor.java index 74791e4ba6..80e815967b 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsInfoItemExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeCommentsInfoItemExtractor.java @@ -2,7 +2,6 @@ import com.grack.nanojson.JsonArray; import com.grack.nanojson.JsonObject; - import org.schabi.newpipe.extractor.comments.CommentsInfoItemExtractor; import org.schabi.newpipe.extractor.exceptions.ParsingException; import org.schabi.newpipe.extractor.localization.DateWrapper; @@ -120,6 +119,12 @@ public boolean getHeartedByUploader() throws ParsingException { return json.has("creatorHeart"); } + @Override + public boolean getUploaderVerified() throws ParsingException { + // impossible to get this information from the mobile layout + return false; + } + @Override public String getUploaderName() throws ParsingException { try {