Skip to content

Commit 2564bcf

Browse files
committed
refactor comments
rename methods in CommentsInfoItemExtractor interface to match the other method names across NewPipeExtractor remove getName in (Youtube|SoundCloud|Peertube)CommentsExtractor and move it up in CommentsExtractor, return "Comments" instead
1 parent 0cbbc2a commit 2564bcf

12 files changed

Lines changed: 79 additions & 105 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsExtractor.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@
22

33
import org.schabi.newpipe.extractor.ListExtractor;
44
import org.schabi.newpipe.extractor.StreamingService;
5+
import org.schabi.newpipe.extractor.exceptions.ParsingException;
56
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler;
67

8+
import javax.annotation.Nonnull;
9+
710
public abstract class CommentsExtractor extends ListExtractor<CommentsInfoItem> {
811

912
public CommentsExtractor(StreamingService service, ListLinkHandler uiHandler) {
1013
super(service, uiHandler);
1114
// TODO Auto-generated constructor stub
1215
}
1316

17+
@Nonnull
18+
@Override
19+
public String getName() throws ParsingException {
20+
return "Comments";
21+
}
1422
}

extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItem.java

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ public class CommentsInfoItem extends InfoItem {
99

1010
private String commentId;
1111
private String commentText;
12-
private String authorName;
13-
private String authorThumbnail;
14-
private String authorEndpoint;
15-
private String textualPublishedTime;
12+
private String uploaderName;
13+
private String uploaderAvatarUrl;
14+
private String uploaderUrl;
15+
private String textualUploadDate;
1616
@Nullable
17-
private DateWrapper publishedTime;
17+
private DateWrapper uploadDate;
1818
private int likeCount;
1919

2020
public CommentsInfoItem(int serviceId, String url, String name) {
@@ -37,45 +37,45 @@ public void setCommentText(String commentText) {
3737
this.commentText = commentText;
3838
}
3939

40-
public String getAuthorName() {
41-
return authorName;
40+
public String getUploaderName() {
41+
return uploaderName;
4242
}
4343

44-
public void setAuthorName(String authorName) {
45-
this.authorName = authorName;
44+
public void setUploaderName(String uploaderName) {
45+
this.uploaderName = uploaderName;
4646
}
4747

48-
public String getAuthorThumbnail() {
49-
return authorThumbnail;
48+
public String getUploaderAvatarUrl() {
49+
return uploaderAvatarUrl;
5050
}
5151

52-
public void setAuthorThumbnail(String authorThumbnail) {
53-
this.authorThumbnail = authorThumbnail;
52+
public void setUploaderAvatarUrl(String uploaderAvatarUrl) {
53+
this.uploaderAvatarUrl = uploaderAvatarUrl;
5454
}
5555

56-
public String getAuthorEndpoint() {
57-
return authorEndpoint;
56+
public String getUploaderUrl() {
57+
return uploaderUrl;
5858
}
5959

60-
public void setAuthorEndpoint(String authorEndpoint) {
61-
this.authorEndpoint = authorEndpoint;
60+
public void setUploaderUrl(String uploaderUrl) {
61+
this.uploaderUrl = uploaderUrl;
6262
}
6363

64-
public String getTextualPublishedTime() {
65-
return textualPublishedTime;
64+
public String getTextualUploadDate() {
65+
return textualUploadDate;
6666
}
6767

68-
public void setTextualPublishedTime(String textualPublishedTime) {
69-
this.textualPublishedTime = textualPublishedTime;
68+
public void setTextualUploadDate(String textualUploadDate) {
69+
this.textualUploadDate = textualUploadDate;
7070
}
7171

7272
@Nullable
73-
public DateWrapper getPublishedTime() {
74-
return publishedTime;
73+
public DateWrapper getUploadDate() {
74+
return uploadDate;
7575
}
7676

77-
public void setPublishedTime(@Nullable DateWrapper publishedTime) {
78-
this.publishedTime = publishedTime;
77+
public void setUploadDate(@Nullable DateWrapper uploadDate) {
78+
this.uploadDate = uploadDate;
7979
}
8080

8181
public int getLikeCount() {

extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItemExtractor.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,9 @@
99

1010
public interface CommentsInfoItemExtractor extends InfoItemExtractor {
1111

12-
/**
13-
* AuthorEndpoint, in other words, link to authors' channel page
14-
*/
15-
String getAuthorEndpoint() throws ParsingException;
16-
1712
/**
1813
* Return the like count of the comment, or -1 if it's unavailable
19-
* see {@link StreamExtractor#getLikeCount()}
14+
* @see StreamExtractor#getLikeCount()
2015
*/
2116
int getLikeCount() throws ParsingException;
2217

@@ -27,20 +22,22 @@ public interface CommentsInfoItemExtractor extends InfoItemExtractor {
2722

2823
/**
2924
* The upload date given by the service, unmodified
30-
* see {@link StreamExtractor#getTextualUploadDate()}
25+
* @see StreamExtractor#getTextualUploadDate()
3126
*/
32-
String getTextualPublishedTime() throws ParsingException;
27+
String getTextualUploadDate() throws ParsingException;
3328

3429
/**
3530
* The upload date wrapped with DateWrapper class
36-
* see {@link StreamExtractor#getUploadDate()}
31+
* @see StreamExtractor#getUploadDate()
3732
*/
3833
@Nullable
39-
DateWrapper getPublishedTime() throws ParsingException;
34+
DateWrapper getUploadDate() throws ParsingException;
4035

4136
String getCommentId() throws ParsingException;
4237

43-
String getAuthorName() throws ParsingException;
38+
String getUploaderUrl() throws ParsingException;
39+
40+
String getUploaderName() throws ParsingException;
4441

45-
String getAuthorThumbnail() throws ParsingException;
42+
String getUploaderAvatarUrl() throws ParsingException;
4643
}

extractor/src/main/java/org/schabi/newpipe/extractor/comments/CommentsInfoItemsCollector.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,27 @@ public CommentsInfoItem extract(CommentsInfoItemExtractor extractor) throws Pars
3535
addError(e);
3636
}
3737
try {
38-
resultItem.setAuthorName(extractor.getAuthorName());
38+
resultItem.setUploaderName(extractor.getUploaderName());
3939
} catch (Exception e) {
4040
addError(e);
4141
}
4242
try {
43-
resultItem.setAuthorThumbnail(extractor.getAuthorThumbnail());
43+
resultItem.setUploaderAvatarUrl(extractor.getUploaderAvatarUrl());
4444
} catch (Exception e) {
4545
addError(e);
4646
}
4747
try {
48-
resultItem.setAuthorEndpoint(extractor.getAuthorEndpoint());
48+
resultItem.setUploaderUrl(extractor.getUploaderUrl());
4949
} catch (Exception e) {
5050
addError(e);
5151
}
5252
try {
53-
resultItem.setTextualPublishedTime(extractor.getTextualPublishedTime());
53+
resultItem.setTextualUploadDate(extractor.getTextualUploadDate());
5454
} catch (Exception e) {
5555
addError(e);
5656
}
5757
try {
58-
resultItem.setPublishedTime(extractor.getPublishedTime());
58+
resultItem.setUploadDate(extractor.getUploadDate());
5959
} catch (Exception e) {
6060
addError(e);
6161
}

extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeCommentsExtractor.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,6 @@ public PeertubeCommentsExtractor(StreamingService service, ListLinkHandler uiHan
3333
super(service, uiHandler);
3434
}
3535

36-
@Override
37-
public String getName() throws ParsingException {
38-
return "Comments";
39-
}
40-
4136
@Override
4237
public InfoItemsPage<CommentsInfoItem> getInitialPage() throws IOException, ExtractionException {
4338
super.fetchPage();

extractor/src/main/java/org/schabi/newpipe/extractor/services/peertube/extractors/PeertubeCommentsInfoItemExtractor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ public String getName() throws ParsingException {
4545
}
4646

4747
@Override
48-
public String getTextualPublishedTime() throws ParsingException {
48+
public String getTextualUploadDate() throws ParsingException {
4949
return JsonUtils.getString(item, "createdAt");
5050
}
5151

5252
@Override
53-
public DateWrapper getPublishedTime() throws ParsingException {
54-
String textualUploadDate = getTextualPublishedTime();
53+
public DateWrapper getUploadDate() throws ParsingException {
54+
String textualUploadDate = getTextualUploadDate();
5555
return new DateWrapper(PeertubeParsingHelper.parseDateFrom(textualUploadDate));
5656
}
5757

@@ -78,7 +78,7 @@ public String getCommentId() throws ParsingException {
7878
}
7979

8080
@Override
81-
public String getAuthorThumbnail() throws ParsingException {
81+
public String getUploaderAvatarUrl() throws ParsingException {
8282
String value;
8383
try {
8484
value = JsonUtils.getString(item, "account.avatar.path");
@@ -89,12 +89,12 @@ public String getAuthorThumbnail() throws ParsingException {
8989
}
9090

9191
@Override
92-
public String getAuthorName() throws ParsingException {
92+
public String getUploaderName() throws ParsingException {
9393
return JsonUtils.getString(item, "account.name") + "@" + JsonUtils.getString(item, "account.host");
9494
}
9595

9696
@Override
97-
public String getAuthorEndpoint() throws ParsingException {
97+
public String getUploaderUrl() throws ParsingException {
9898
String name = JsonUtils.getString(item, "account.name");
9999
String host = JsonUtils.getString(item, "account.host");
100100
return ServiceList.PeerTube.getChannelLHFactory().fromId(name + "@" + host, baseUrl).getUrl();

extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudCommentsExtractor.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,8 @@ public void onFetchPage(@Nonnull Downloader downloader) throws IOException, Extr
6767
}
6868
}
6969

70-
@Nonnull
71-
@Override
72-
public String getName() throws ParsingException {
73-
return "SoundCloud comments of track " + getId();
74-
}
75-
7670
private void collectStreamsFrom(final CommentsInfoItemsCollector collector, final JsonArray entries) throws ParsingException {
77-
String url = getUrl();
71+
final String url = getUrl();
7872
for (Object comment : entries) {
7973
collector.commit(new SoundcloudCommentsInfoItemExtractor((JsonObject) comment, url));
8074
}

extractor/src/main/java/org/schabi/newpipe/extractor/services/soundcloud/extractors/SoundcloudCommentsInfoItemExtractor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,29 +29,29 @@ public String getCommentText() throws ParsingException {
2929
}
3030

3131
@Override
32-
public String getAuthorName() throws ParsingException {
32+
public String getUploaderName() throws ParsingException {
3333
return json.getObject("user").getString("username");
3434
}
3535

3636
@Override
37-
public String getAuthorThumbnail() throws ParsingException {
37+
public String getUploaderAvatarUrl() throws ParsingException {
3838
return json.getObject("user").getString("avatar_url");
3939
}
4040

4141
@Override
42-
public String getAuthorEndpoint() throws ParsingException {
42+
public String getUploaderUrl() throws ParsingException {
4343
return json.getObject("user").getString("permalink_url");
4444
}
4545

4646
@Override
47-
public String getTextualPublishedTime() throws ParsingException {
47+
public String getTextualUploadDate() throws ParsingException {
4848
return json.getString("created_at");
4949
}
5050

5151
@Nullable
5252
@Override
53-
public DateWrapper getPublishedTime() throws ParsingException {
54-
return new DateWrapper(SoundcloudParsingHelper.parseDateFrom(getTextualPublishedTime()));
53+
public DateWrapper getUploadDate() throws ParsingException {
54+
return new DateWrapper(SoundcloudParsingHelper.parseDateFrom(getTextualUploadDate()));
5555
}
5656

5757
@Override

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

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ public class YoutubeCommentsExtractor extends CommentsExtractor {
3737

3838
private String ytClientVersion;
3939
private String ytClientName;
40-
private String title;
4140
private InfoItemsPage<CommentsInfoItem> initPage;
4241

4342
public YoutubeCommentsExtractor(StreamingService service, ListLinkHandler uiHandler) {
@@ -116,7 +115,6 @@ private void collectCommentsFrom(CommentsInfoItemsCollector collector, JsonObjec
116115
//no comments
117116
return;
118117
}
119-
fetchTitle(contents);
120118
List<Object> comments;
121119
try {
122120
comments = JsonUtils.getValues(contents, "commentThreadRenderer.comment.commentRenderer");
@@ -132,16 +130,6 @@ private void collectCommentsFrom(CommentsInfoItemsCollector collector, JsonObjec
132130
}
133131
}
134132

135-
private void fetchTitle(JsonArray contents) {
136-
if (title == null) {
137-
try {
138-
title = getYoutubeText(JsonUtils.getObject(contents.getObject(0), "commentThreadRenderer.commentTargetTitle"));
139-
} catch (Exception e) {
140-
title = "Youtube Comments";
141-
}
142-
}
143-
}
144-
145133
@Override
146134
public void onFetchPage(@Nonnull Downloader downloader) throws IOException, ExtractionException {
147135
final Map<String, List<String>> requestHeaders = new HashMap<>();
@@ -155,12 +143,6 @@ public void onFetchPage(@Nonnull Downloader downloader) throws IOException, Extr
155143
initPage = getPage(getNextPageUrl(commentsToken));
156144
}
157145

158-
@Nonnull
159-
@Override
160-
public String getName() throws ParsingException {
161-
return title;
162-
}
163-
164146
private String makeAjaxRequest(String siteUrl) throws IOException, ReCaptchaException {
165147

166148
Map<String, List<String>> requestHeaders = new HashMap<>();

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public String getName() throws ParsingException {
4848
}
4949

5050
@Override
51-
public String getTextualPublishedTime() throws ParsingException {
51+
public String getTextualUploadDate() throws ParsingException {
5252
try {
5353
return YoutubeCommentsExtractor.getYoutubeText(JsonUtils.getObject(json, "publishedTimeText"));
5454
} catch (Exception e) {
@@ -58,8 +58,8 @@ public String getTextualPublishedTime() throws ParsingException {
5858

5959
@Nullable
6060
@Override
61-
public DateWrapper getPublishedTime() throws ParsingException {
62-
String textualPublishedTime = getTextualPublishedTime();
61+
public DateWrapper getUploadDate() throws ParsingException {
62+
String textualPublishedTime = getTextualUploadDate();
6363
if (timeAgoParser != null && textualPublishedTime != null && !textualPublishedTime.isEmpty()) {
6464
return timeAgoParser.parse(textualPublishedTime);
6565
} else {
@@ -97,7 +97,7 @@ public String getCommentId() throws ParsingException {
9797
}
9898

9999
@Override
100-
public String getAuthorThumbnail() throws ParsingException {
100+
public String getUploaderAvatarUrl() throws ParsingException {
101101
try {
102102
JsonArray arr = JsonUtils.getArray(json, "authorThumbnail.thumbnails");
103103
return JsonUtils.getString(arr.getObject(2), "url");
@@ -107,7 +107,7 @@ public String getAuthorThumbnail() throws ParsingException {
107107
}
108108

109109
@Override
110-
public String getAuthorName() throws ParsingException {
110+
public String getUploaderName() throws ParsingException {
111111
try {
112112
return YoutubeCommentsExtractor.getYoutubeText(JsonUtils.getObject(json, "authorText"));
113113
} catch (Exception e) {
@@ -116,7 +116,7 @@ public String getAuthorName() throws ParsingException {
116116
}
117117

118118
@Override
119-
public String getAuthorEndpoint() throws ParsingException {
119+
public String getUploaderUrl() throws ParsingException {
120120
try {
121121
return "https://youtube.com/channel/" + JsonUtils.getString(json, "authorEndpoint.browseEndpoint.browseId");
122122
} catch (Exception e) {

0 commit comments

Comments
 (0)