Skip to content

Commit 7c70fef

Browse files
authored
Merge pull request #1089 from TeamNewPipe/ccc
[media.ccc.de] Only extract kiosk live stream rooms if they are streaming
2 parents de0a9bb + 3400955 commit 7c70fef

7 files changed

Lines changed: 28 additions & 16 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/MediaCCCService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public KioskList getKioskList() throws ExtractionException {
101101
kioskId
102102
),
103103
new MediaCCCConferencesListLinkHandlerFactory(),
104-
"conferences"
104+
MediaCCCConferenceKiosk.KIOSK_ID
105105
);
106106

107107
list.addKioskEntry(
@@ -111,7 +111,7 @@ public KioskList getKioskList() throws ExtractionException {
111111
kioskId
112112
),
113113
new MediaCCCRecentListLinkHandlerFactory(),
114-
"recent"
114+
MediaCCCRecentKiosk.KIOSK_ID
115115
);
116116

117117
list.addKioskEntry(
@@ -121,10 +121,10 @@ public KioskList getKioskList() throws ExtractionException {
121121
kioskId
122122
),
123123
new MediaCCCLiveListLinkHandlerFactory(),
124-
"live"
124+
MediaCCCLiveStreamKiosk.KIOSK_ID
125125
);
126126

127-
list.setDefaultKiosk("recent");
127+
list.setDefaultKiosk(MediaCCCRecentKiosk.KIOSK_ID);
128128
} catch (final Exception e) {
129129
throw new ExtractionException(e);
130130
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
9696
try {
9797
conferenceData = JsonParser.object().from(downloader.get(conferenceUrl).responseBody());
9898
} catch (final JsonParserException jpe) {
99-
throw new ExtractionException("Could not parse json returnd by url: " + conferenceUrl);
99+
throw new ExtractionException("Could not parse json returned by URL: " + conferenceUrl);
100100
}
101101
}
102102

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import javax.annotation.Nonnull;
2222

2323
public class MediaCCCConferenceKiosk extends KioskExtractor<ChannelInfoItem> {
24+
25+
public static final String KIOSK_ID = "conferences";
2426
private JsonObject doc;
2527

2628
public MediaCCCConferenceKiosk(final StreamingService streamingService,

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

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import java.io.IOException;
1717

1818
public class MediaCCCLiveStreamKiosk extends KioskExtractor<StreamInfoItem> {
19+
20+
public static final String KIOSK_ID = "live";
1921
private JsonArray doc;
2022

2123
public MediaCCCLiveStreamKiosk(final StreamingService streamingService,
@@ -36,13 +38,16 @@ public InfoItemsPage<StreamInfoItem> getInitialPage() throws IOException, Extrac
3638
final StreamInfoItemsCollector collector = new StreamInfoItemsCollector(getServiceId());
3739
for (int c = 0; c < doc.size(); c++) {
3840
final JsonObject conference = doc.getObject(c);
39-
final JsonArray groups = conference.getArray("groups");
40-
for (int g = 0; g < groups.size(); g++) {
41-
final String group = groups.getObject(g).getString("group");
42-
final JsonArray rooms = groups.getObject(g).getArray("rooms");
43-
for (int r = 0; r < rooms.size(); r++) {
44-
final JsonObject room = rooms.getObject(r);
45-
collector.commit(new MediaCCCLiveStreamKioskExtractor(conference, group, room));
41+
if (conference.getBoolean("isCurrentlyStreaming")) {
42+
final JsonArray groups = conference.getArray("groups");
43+
for (int g = 0; g < groups.size(); g++) {
44+
final String group = groups.getObject(g).getString("group");
45+
final JsonArray rooms = groups.getObject(g).getArray("rooms");
46+
for (int r = 0; r < rooms.size(); r++) {
47+
final JsonObject room = rooms.getObject(r);
48+
collector.commit(new MediaCCCLiveStreamKioskExtractor(
49+
conference, group, room));
50+
}
4651
}
4752
}
4853

@@ -59,6 +64,6 @@ public InfoItemsPage<StreamInfoItem> getPage(final Page page)
5964
@Nonnull
6065
@Override
6166
public String getName() throws ParsingException {
62-
return "live";
67+
return KIOSK_ID;
6368
}
6469
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323

2424
public class MediaCCCRecentKiosk extends KioskExtractor<StreamInfoItem> {
2525

26+
public static final String KIOSK_ID = "recent";
27+
2628
private JsonObject doc;
2729

2830
public MediaCCCRecentKiosk(final StreamingService streamingService,
@@ -77,6 +79,6 @@ public InfoItemsPage<StreamInfoItem> getPage(final Page page)
7779
@Nonnull
7880
@Override
7981
public String getName() throws ParsingException {
80-
return "recent";
82+
return KIOSK_ID;
8183
}
8284
}

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,9 @@ public KioskList getKioskList() throws ExtractionException {
146146
id
147147
),
148148
new YoutubeTrendingLinkHandlerFactory(),
149-
"Trending"
149+
YoutubeTrendingExtractor.KIOSK_ID
150150
);
151-
list.setDefaultKiosk("Trending");
151+
list.setDefaultKiosk(YoutubeTrendingExtractor.KIOSK_ID);
152152
} catch (final Exception e) {
153153
throw new ExtractionException(e);
154154
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@
4646
import javax.annotation.Nonnull;
4747

4848
public class YoutubeTrendingExtractor extends KioskExtractor<StreamInfoItem> {
49+
50+
public static final String KIOSK_ID = "Trending";
51+
4952
private JsonObject initialData;
5053

5154
private static final String VIDEOS_TAB_PARAMS = "4gIOGgxtb3N0X3BvcHVsYXI%3D";

0 commit comments

Comments
 (0)