Skip to content

Commit bc44557

Browse files
committed
Add and use setters
1 parent e11c6e3 commit bc44557

16 files changed

Lines changed: 539 additions & 186 deletions

src/main/java/org/schabi/newpipe/extractor/Info.java

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,60 @@
22

33
import java.io.Serializable;
44
import java.util.ArrayList;
5+
import java.util.Collection;
56
import java.util.List;
67

78
public abstract class Info implements Serializable {
89

9-
public int service_id = -1;
10+
public final int service_id;
1011
/**
1112
* Id of this Info object <br>
1213
* e.g. Youtube: https://www.youtube.com/watch?v=RER5qCTzZ7 > RER5qCTzZ7
1314
*/
14-
public String id;
15-
public String url;
16-
public String name;
15+
public final String id;
16+
public final String url;
17+
public final String name;
1718

1819
public List<Throwable> errors = new ArrayList<>();
1920

21+
public void addError(Throwable throwable) {
22+
this.errors.add(throwable);
23+
}
24+
25+
public void addAllErrors(Collection<Throwable> errors) {
26+
this.errors.addAll(errors);
27+
}
28+
29+
public Info(int serviceId, String id, String url, String name) {
30+
this.service_id = serviceId;
31+
this.id = id;
32+
this.url = url;
33+
this.name = name;
34+
}
35+
36+
2037
@Override
2138
public String toString() {
2239
return getClass().getSimpleName() + "[url=\"" + url + "\", name=\"" + name + "\"]";
2340
}
41+
42+
public int getServiceId() {
43+
return service_id;
44+
}
45+
46+
public String getId() {
47+
return id;
48+
}
49+
50+
public String getUrl() {
51+
return url;
52+
}
53+
54+
public String getName() {
55+
return name;
56+
}
57+
58+
public List<Throwable> getErrors() {
59+
return errors;
60+
}
2461
}

src/main/java/org/schabi/newpipe/extractor/InfoItem.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
2121
*/
2222

23+
import org.schabi.newpipe.extractor.stream.StreamType;
24+
2325
import java.io.Serializable;
2426

2527
public abstract class InfoItem implements Serializable {
@@ -29,8 +31,11 @@ public abstract class InfoItem implements Serializable {
2931
public String name;
3032
public String thumbnail_url;
3133

32-
public InfoItem(InfoType infoType) {
34+
public InfoItem(InfoType infoType, int serviceId, String url, String name) {
3335
this.info_type = infoType;
36+
this.service_id = serviceId;
37+
this.url = url;
38+
this.name = name;
3439
}
3540

3641
public InfoType getInfoType() {
@@ -49,6 +54,10 @@ public String getName() {
4954
return name;
5055
}
5156

57+
public void setThumbnailUrl(String thumbnailUrl) {
58+
this.thumbnail_url = thumbnailUrl;
59+
}
60+
5261
public String getThumbnailUrl() {
5362
return thumbnail_url;
5463
}

src/main/java/org/schabi/newpipe/extractor/ListInfo.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,32 @@ public abstract class ListInfo extends Info {
66
public List<InfoItem> related_streams;
77
public boolean has_more_streams;
88
public String next_streams_url;
9+
10+
public ListInfo(int serviceId, String id, String url, String name) {
11+
super(serviceId, id, url, name);
12+
}
13+
14+
public List<InfoItem> getRelated_streams() {
15+
return related_streams;
16+
}
17+
18+
public void setRelatedStreams(List<InfoItem> related_streams) {
19+
this.related_streams = related_streams;
20+
}
21+
22+
public boolean isHas_more_streams() {
23+
return has_more_streams;
24+
}
25+
26+
public void setHasMoreStreams(boolean has_more_streams) {
27+
this.has_more_streams = has_more_streams;
28+
}
29+
30+
public String getNext_streams_url() {
31+
return next_streams_url;
32+
}
33+
34+
public void setNextStreamsUrl(String next_streams_url) {
35+
this.next_streams_url = next_streams_url;
36+
}
937
}

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

Lines changed: 68 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
99
import org.schabi.newpipe.extractor.exceptions.ParsingException;
1010
import org.schabi.newpipe.extractor.stream.StreamInfoItemCollector;
11+
import org.schabi.newpipe.extractor.utils.ExtractorHelper;
1112

1213
import java.io.IOException;
1314
import java.util.ArrayList;
@@ -34,6 +35,11 @@
3435

3536
public class ChannelInfo extends ListInfo {
3637

38+
public ChannelInfo(int serviceId, String url, String id, String name) {
39+
super(serviceId, id, url, name);
40+
}
41+
42+
3743
public static NextItemsResult getMoreItems(ServiceList serviceItem, String url, String nextStreamsUrl) throws IOException, ExtractionException {
3844
return getMoreItems(serviceItem.getService(), url, nextStreamsUrl);
3945
}
@@ -55,52 +61,47 @@ public static ChannelInfo getInfo(StreamingService service, String url) throws I
5561
}
5662

5763
public static ChannelInfo getInfo(ChannelExtractor extractor) throws ParsingException {
58-
ChannelInfo info = new ChannelInfo();
5964

6065
// important data
61-
info.service_id = extractor.getServiceId();
62-
info.url = extractor.getCleanUrl();
63-
info.id = extractor.getId();
64-
info.name = extractor.getName();
66+
int serviceId = extractor.getServiceId();
67+
String url = extractor.getCleanUrl();
68+
String id = extractor.getId();
69+
String name = extractor.getName();
70+
71+
ChannelInfo info = new ChannelInfo(serviceId, url, id, name);
72+
6573

6674
try {
67-
info.avatar_url = extractor.getAvatarUrl();
68-
} catch (Exception e) {
69-
info.errors.add(e);
70-
}
71-
try {
72-
info.banner_url = extractor.getBannerUrl();
75+
info.setAvatarUrl(extractor.getAvatarUrl());
7376
} catch (Exception e) {
74-
info.errors.add(e);
77+
info.addError(e);
7578
}
7679
try {
77-
info.feed_url = extractor.getFeedUrl();
80+
info.setBannerUrl(extractor.getBannerUrl());
7881
} catch (Exception e) {
79-
info.errors.add(e);
82+
info.addError(e);
8083
}
8184
try {
82-
StreamInfoItemCollector c = extractor.getStreams();
83-
info.related_streams = c.getItemList();
84-
info.errors.addAll(c.getErrors());
85+
info.setFeedUrl(extractor.getFeedUrl());
8586
} catch (Exception e) {
86-
info.errors.add(e);
87+
info.addError(e);
8788
}
89+
90+
info.setRelatedStreams(ExtractorHelper.getStreamsOrLogError(info, extractor));
91+
8892
try {
89-
info.subscriber_count = extractor.getSubscriberCount();
93+
info.setSubscriberCount(extractor.getSubscriberCount());
9094
} catch (Exception e) {
91-
info.errors.add(e);
95+
info.addError(e);
9296
}
9397
try {
94-
info.description = extractor.getDescription();
98+
info.setDescription(extractor.getDescription());
9599
} catch (Exception e) {
96-
info.errors.add(e);
100+
info.addError(e);
97101
}
98102

99-
// Lists can be null if a exception was thrown during extraction
100-
if (info.related_streams == null) info.related_streams = new ArrayList<>();
101-
102-
info.has_more_streams = extractor.hasMoreStreams();
103-
info.next_streams_url = extractor.getNextStreamsUrl();
103+
info.setHasMoreStreams(extractor.hasMoreStreams());
104+
info.setNextStreamsUrl(extractor.getNextStreamsUrl());
104105
return info;
105106
}
106107

@@ -109,4 +110,44 @@ public static ChannelInfo getInfo(ChannelExtractor extractor) throws ParsingExce
109110
public String feed_url;
110111
public long subscriber_count = -1;
111112
public String description;
113+
114+
public String getAvatarUrl() {
115+
return avatar_url;
116+
}
117+
118+
public void setAvatarUrl(String avatarUrl) {
119+
this.avatar_url = avatarUrl;
120+
}
121+
122+
public String getBannerUrl() {
123+
return banner_url;
124+
}
125+
126+
public void setBannerUrl(String bannerUrl) {
127+
this.banner_url = bannerUrl;
128+
}
129+
130+
public String getFeedUrl() {
131+
return feed_url;
132+
}
133+
134+
public void setFeedUrl(String feedUrl) {
135+
this.feed_url = feedUrl;
136+
}
137+
138+
public long getSubscriberCount() {
139+
return subscriber_count;
140+
}
141+
142+
public void setSubscriberCount(long subscriberCount) {
143+
this.subscriber_count = subscriberCount;
144+
}
145+
146+
public String getDescription() {
147+
return description;
148+
}
149+
150+
public void setDescription(String description) {
151+
this.description = description;
152+
}
112153
}

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

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,32 @@ public class ChannelInfoItem extends InfoItem {
2828
public long subscriber_count = -1;
2929
public long stream_count = -1;
3030

31-
public ChannelInfoItem() {
32-
super(InfoType.CHANNEL);
31+
32+
public ChannelInfoItem(int serviceId, String url, String name) {
33+
super(InfoType.CHANNEL, serviceId, url, name);
34+
}
35+
36+
public String getDescription() {
37+
return description;
38+
}
39+
40+
public void setDescription(String description) {
41+
this.description = description;
42+
}
43+
44+
public long getSubscriberCount() {
45+
return subscriber_count;
46+
}
47+
48+
public void setSubscriberCount(long subscriber_count) {
49+
this.subscriber_count = subscriber_count;
50+
}
51+
52+
public long getStreamCount() {
53+
return stream_count;
54+
}
55+
56+
public void setStreamCount(long stream_count) {
57+
this.stream_count = stream_count;
3358
}
3459
}

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

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,30 +29,32 @@ public ChannelInfoItemCollector(int serviceId) {
2929
}
3030

3131
public ChannelInfoItem extract(ChannelInfoItemExtractor extractor) throws ParsingException {
32-
ChannelInfoItem resultItem = new ChannelInfoItem();
3332
// important information
34-
resultItem.service_id = getServiceId();
35-
resultItem.name = extractor.getName();
36-
resultItem.url = extractor.getUrl();
33+
int serviceId = getServiceId();
34+
String name = extractor.getName();
35+
String url = extractor.getUrl();
36+
37+
ChannelInfoItem resultItem = new ChannelInfoItem(serviceId, name, url);
38+
3739

3840
// optional information
3941
try {
40-
resultItem.subscriber_count = extractor.getSubscriberCount();
42+
resultItem.setSubscriberCount(extractor.getSubscriberCount());
4143
} catch (Exception e) {
4244
addError(e);
4345
}
4446
try {
45-
resultItem.stream_count = extractor.getStreamCount();
47+
resultItem.setStreamCount(extractor.getStreamCount());
4648
} catch (Exception e) {
4749
addError(e);
4850
}
4951
try {
50-
resultItem.thumbnail_url = extractor.getThumbnailUrl();
52+
resultItem.setThumbnailUrl(extractor.getThumbnailUrl());
5153
} catch (Exception e) {
5254
addError(e);
5355
}
5456
try {
55-
resultItem.description = extractor.getDescription();
57+
resultItem.setDescription(extractor.getDescription());
5658
} catch (Exception e) {
5759
addError(e);
5860
}

src/main/java/org/schabi/newpipe/extractor/kiosk/KioskInfo.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,18 @@
2222

2323
import org.schabi.newpipe.extractor.*;
2424
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
25-
import org.schabi.newpipe.extractor.stream.StreamInfoItemCollector;
25+
import org.schabi.newpipe.extractor.utils.ExtractorHelper;
2626

2727
import java.io.IOException;
2828

2929
public class KioskInfo extends ListInfo {
3030

31+
public KioskInfo(int serviceId, String id, String url, String name) {
32+
super(serviceId, id, url, name);
33+
}
34+
3135
public static ListExtractor.NextItemsResult getMoreItems(ServiceList serviceItem,
32-
String url,
36+
String url,
3337
String nextStreamsUrl) throws IOException, ExtractionException {
3438
return getMoreItems(serviceItem.getService(), url, nextStreamsUrl);
3539
}
@@ -63,20 +67,17 @@ public static KioskInfo getInfo(StreamingService service,
6367

6468
public static KioskInfo getInfo(KioskExtractor extractor,
6569
String contentCountry) throws IOException, ExtractionException {
66-
KioskInfo info = new KioskInfo();
6770
extractor.setContentCountry(contentCountry);
6871
extractor.fetchPage();
69-
info.name = extractor.getName();
70-
info.id = extractor.getId();
71-
info.url = extractor.getCleanUrl();
7272

73-
try {
74-
StreamInfoItemCollector c = extractor.getStreams();
75-
info.related_streams = c.getItemList();
76-
info.errors.addAll(c.getErrors());
77-
} catch (Exception e) {
78-
info.errors.add(e);
79-
}
73+
int serviceId = extractor.getServiceId();
74+
String name = extractor.getName();
75+
String id = extractor.getId();
76+
String url = extractor.getCleanUrl();
77+
78+
KioskInfo info = new KioskInfo(serviceId, name, id, url);
79+
80+
info.related_streams = ExtractorHelper.getStreamsOrLogError(info, extractor);
8081

8182
return info;
8283
}

0 commit comments

Comments
 (0)