Skip to content

Commit 44d382b

Browse files
authored
Merge pull request #313 from Royosef/DisplayParentChannelDetails
Display parent channel details
2 parents 665c69b + a408661 commit 44d382b

15 files changed

Lines changed: 339 additions & 18 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelExtractor.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,7 @@ public ChannelExtractor(StreamingService service, ListLinkHandler linkHandler) {
3737
public abstract String getFeedUrl() throws ParsingException;
3838
public abstract long getSubscriberCount() throws ParsingException;
3939
public abstract String getDescription() throws ParsingException;
40+
public abstract String getSubChannelName() throws ParsingException;
41+
public abstract String getSubChannelUrl() throws ParsingException;
42+
public abstract String getSubChannelAvatarUrl() throws ParsingException;
4043
}

extractor/src/main/java/org/schabi/newpipe/extractor/channel/ChannelInfo.java

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,16 +94,61 @@ public static ChannelInfo getInfo(ChannelExtractor extractor) throws IOException
9494
info.addError(e);
9595
}
9696

97+
try {
98+
info.setSubChannelName(extractor.getSubChannelName());
99+
} catch (Exception e) {
100+
info.addError(e);
101+
}
102+
103+
try {
104+
info.setSubChannelUrl(extractor.getSubChannelUrl());
105+
} catch (Exception e) {
106+
info.addError(e);
107+
}
108+
109+
try {
110+
info.setSubChannelAvatarUrl(extractor.getSubChannelAvatarUrl());
111+
} catch (Exception e) {
112+
info.addError(e);
113+
}
114+
97115
return info;
98116
}
99117

100118
private String avatarUrl;
119+
private String subChannelName;
120+
private String subChannelUrl;
121+
private String subChannelAvatarUrl;
101122
private String bannerUrl;
102123
private String feedUrl;
103124
private long subscriberCount = -1;
104125
private String description;
105126
private String[] donationLinks;
106127

128+
public String getSubChannelName() {
129+
return subChannelName;
130+
}
131+
132+
public void setSubChannelName(String subChannelName) {
133+
this.subChannelName = subChannelName;
134+
}
135+
136+
public String getSubChannelUrl() {
137+
return subChannelUrl;
138+
}
139+
140+
public void setSubChannelUrl(String subChannelUrl) {
141+
this.subChannelUrl = subChannelUrl;
142+
}
143+
144+
public String getSubChannelAvatarUrl() {
145+
return subChannelAvatarUrl;
146+
}
147+
148+
public void setSubChannelAvatarUrl(String subChannelAvatarUrl) {
149+
this.subChannelAvatarUrl = subChannelAvatarUrl;
150+
}
151+
107152
public String getAvatarUrl() {
108153
return avatarUrl;
109154
}

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,21 @@ public String getDescription() {
5252
return null;
5353
}
5454

55+
@Override
56+
public String getSubChannelName() throws ParsingException {
57+
return "";
58+
}
59+
60+
@Override
61+
public String getSubChannelUrl() throws ParsingException {
62+
return "";
63+
}
64+
65+
@Override
66+
public String getSubChannelAvatarUrl() throws ParsingException {
67+
return "";
68+
}
69+
5570
@Nonnull
5671
@Override
5772
public InfoItemsPage<StreamInfoItem> getInitialPage() {

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

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,25 @@ public String getUploaderAvatarUrl() {
112112

113113
@Nonnull
114114
@Override
115-
public String getDashMpdUrl() {
115+
public String getSubChannelUrl() throws ParsingException {
116+
return "";
117+
}
118+
119+
@Nonnull
120+
@Override
121+
public String getSubChannelName() throws ParsingException {
122+
return "";
123+
}
124+
125+
@Nonnull
126+
@Override
127+
public String getSubChannelAvatarUrl() throws ParsingException {
128+
return "";
129+
}
130+
131+
@Nonnull
132+
@Override
133+
public String getDashMpdUrl() throws ParsingException {
116134
return "";
117135
}
118136

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,21 @@ public String getDescription() throws ParsingException {
7575
}
7676
}
7777

78+
@Override
79+
public String getSubChannelName() throws ParsingException {
80+
return "";
81+
}
82+
83+
@Override
84+
public String getSubChannelUrl() throws ParsingException {
85+
return "";
86+
}
87+
88+
@Override
89+
public String getSubChannelAvatarUrl() throws ParsingException {
90+
return "";
91+
}
92+
7893
@Override
7994
public InfoItemsPage<StreamInfoItem> getInitialPage() throws IOException, ExtractionException {
8095
super.fetchPage();

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,27 @@ public String getDescription() throws ParsingException {
7575
}
7676
}
7777

78+
@Override
79+
public String getSubChannelName() throws ParsingException {
80+
return JsonUtils.getString(json, "ownerAccount.name");
81+
}
82+
83+
@Override
84+
public String getSubChannelUrl() throws ParsingException {
85+
return JsonUtils.getString(json, "ownerAccount.url");
86+
}
87+
88+
@Override
89+
public String getSubChannelAvatarUrl() throws ParsingException {
90+
String value;
91+
try {
92+
value = JsonUtils.getString(json, "ownerAccount.avatar.path");
93+
} catch (Exception e) {
94+
value = "/client/assets/images/default-avatar.png";
95+
}
96+
return baseUrl + value;
97+
}
98+
7899
@Override
79100
public InfoItemsPage<StreamInfoItem> getInitialPage() throws IOException, ExtractionException {
80101
super.fetchPage();

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,29 @@ public String getUploaderAvatarUrl() throws ParsingException {
147147
return baseUrl + value;
148148
}
149149

150+
@Override
151+
public String getSubChannelUrl() throws ParsingException {
152+
return JsonUtils.getString(json, "channel.url");
153+
}
154+
155+
@Nonnull
156+
@Override
157+
public String getSubChannelName() throws ParsingException {
158+
return JsonUtils.getString(json, "channel.displayName");
159+
}
160+
161+
@Nonnull
162+
@Override
163+
public String getSubChannelAvatarUrl() throws ParsingException {
164+
String value;
165+
try {
166+
value = JsonUtils.getString(json, "channel.avatar.path");
167+
} catch (Exception e) {
168+
value = "/client/assets/images/default-avatar.png";
169+
}
170+
return baseUrl + value;
171+
}
172+
150173
@Override
151174
public String getDashMpdUrl() throws ParsingException {
152175
return "";

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,21 @@ public String getDescription() {
8383
return user.getString("description", EMPTY_STRING);
8484
}
8585

86+
@Override
87+
public String getSubChannelName() throws ParsingException {
88+
return "";
89+
}
90+
91+
@Override
92+
public String getSubChannelUrl() throws ParsingException {
93+
return "";
94+
}
95+
96+
@Override
97+
public String getSubChannelAvatarUrl() throws ParsingException {
98+
return "";
99+
}
100+
86101
@Nonnull
87102
@Override
88103
public InfoItemsPage<StreamInfoItem> getInitialPage() throws ExtractionException {

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,24 @@ public String getUploaderAvatarUrl() {
142142
return SoundcloudParsingHelper.getAvatarUrl(track);
143143
}
144144

145+
@Nonnull
146+
@Override
147+
public String getSubChannelUrl() throws ParsingException {
148+
return "";
149+
}
150+
151+
@Nonnull
152+
@Override
153+
public String getSubChannelName() throws ParsingException {
154+
return "";
155+
}
156+
157+
@Nonnull
158+
@Override
159+
public String getSubChannelAvatarUrl() throws ParsingException {
160+
return "";
161+
}
162+
145163
@Nonnull
146164
@Override
147165
public String getDashMpdUrl() {

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,21 @@ public String getDescription() throws ParsingException {
212212
}
213213
}
214214

215+
@Override
216+
public String getSubChannelName() throws ParsingException {
217+
return "";
218+
}
219+
220+
@Override
221+
public String getSubChannelUrl() throws ParsingException {
222+
return "";
223+
}
224+
225+
@Override
226+
public String getSubChannelAvatarUrl() throws ParsingException {
227+
return "";
228+
}
229+
215230
@Nonnull
216231
@Override
217232
public InfoItemsPage<StreamInfoItem> getInitialPage() throws ExtractionException {

0 commit comments

Comments
 (0)