refactor: remove getTab() method from ChannelTabExtractor

This commit is contained in:
ThetaDev 2023-05-07 21:43:52 +02:00
parent b1f89053f5
commit 66d80383c5
9 changed files with 12 additions and 87 deletions

View File

@ -3,7 +3,6 @@ package org.schabi.newpipe.extractor.channel;
import org.schabi.newpipe.extractor.InfoItem; import org.schabi.newpipe.extractor.InfoItem;
import org.schabi.newpipe.extractor.ListExtractor; import org.schabi.newpipe.extractor.ListExtractor;
import org.schabi.newpipe.extractor.StreamingService; import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.exceptions.ParsingException;
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler; import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
@ -16,13 +15,8 @@ public abstract class ChannelTabExtractor extends ListExtractor<InfoItem> {
} }
@Nonnull @Nonnull
public String getTab() { @Override
public String getName() {
return getLinkHandler().getContentFilters().get(0); return getLinkHandler().getContentFilters().get(0);
} }
@Nonnull
@Override
public String getName() throws ParsingException {
return getTab();
}
} }

View File

@ -44,7 +44,7 @@ public class PeertubeChannelTabExtractor extends ChannelTabExtractor {
@Override @Override
public InfoItemsPage<InfoItem> getInitialPage() throws IOException, ExtractionException { public InfoItemsPage<InfoItem> getInitialPage() throws IOException, ExtractionException {
return getPage(new Page(baseUrl + PeertubeChannelLinkHandlerFactory.API_ENDPOINT return getPage(new Page(baseUrl + PeertubeChannelLinkHandlerFactory.API_ENDPOINT
+ getId() + getUrlSuffix(getTab()) + "?" + START_KEY + "=0&" + COUNT_KEY + "=" + getId() + getUrlSuffix(getName()) + "?" + START_KEY + "=0&" + COUNT_KEY + "="
+ ITEMS_PER_PAGE)); + ITEMS_PER_PAGE));
} }

View File

@ -7,6 +7,7 @@ import org.schabi.newpipe.extractor.StreamingService;
import org.schabi.newpipe.extractor.channel.ChannelTabExtractor; import org.schabi.newpipe.extractor.channel.ChannelTabExtractor;
import org.schabi.newpipe.extractor.downloader.Downloader; import org.schabi.newpipe.extractor.downloader.Downloader;
import org.schabi.newpipe.extractor.exceptions.ExtractionException; import org.schabi.newpipe.extractor.exceptions.ExtractionException;
import org.schabi.newpipe.extractor.exceptions.ParsingException;
import org.schabi.newpipe.extractor.linkhandler.ChannelTabs; import org.schabi.newpipe.extractor.linkhandler.ChannelTabs;
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler; import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler;
import org.schabi.newpipe.extractor.services.soundcloud.SoundcloudParsingHelper; import org.schabi.newpipe.extractor.services.soundcloud.SoundcloudParsingHelper;
@ -27,8 +28,8 @@ public class SoundcloudChannelTabExtractor extends ChannelTabExtractor {
userId = getLinkHandler().getId(); userId = getLinkHandler().getId();
} }
private String getEndpoint() { private String getEndpoint() throws ParsingException {
switch (getTab()) { switch (getName()) {
case ChannelTabs.TRACKS: case ChannelTabs.TRACKS:
return "/tracks"; return "/tracks";
case ChannelTabs.PLAYLISTS: case ChannelTabs.PLAYLISTS:
@ -36,7 +37,7 @@ public class SoundcloudChannelTabExtractor extends ChannelTabExtractor {
case ChannelTabs.ALBUMS: case ChannelTabs.ALBUMS:
return "/albums"; return "/albums";
} }
throw new IllegalArgumentException("unsupported tab: " + getTab()); throw new ParsingException("unsupported tab: " + getName());
} }
@Override @Override

View File

@ -49,11 +49,11 @@ public class YoutubeChannelTabExtractor extends ChannelTabExtractor {
public YoutubeChannelTabExtractor(final StreamingService service, public YoutubeChannelTabExtractor(final StreamingService service,
final ListLinkHandler linkHandler) { final ListLinkHandler linkHandler) {
super(service, linkHandler); super(service, linkHandler);
usePlaylist = getTab().equals(ChannelTabs.SHORTS); usePlaylist = getName().equals(ChannelTabs.SHORTS);
} }
private String getParams() throws ParsingException { private String getParams() throws ParsingException {
switch (getTab()) { switch (getName()) {
case ChannelTabs.PLAYLISTS: case ChannelTabs.PLAYLISTS:
return "EglwbGF5bGlzdHPyBgQKAkIA"; return "EglwbGF5bGlzdHPyBgQKAkIA";
case ChannelTabs.LIVESTREAMS: case ChannelTabs.LIVESTREAMS:
@ -63,7 +63,7 @@ public class YoutubeChannelTabExtractor extends ChannelTabExtractor {
case ChannelTabs.CHANNELS: case ChannelTabs.CHANNELS:
return "EghjaGFubmVsc_IGBAoCUgA%3D"; return "EghjaGFubmVsc_IGBAoCUgA%3D";
} }
throw new ParsingException("tab " + getTab() + " not supported"); throw new ParsingException("tab " + getName() + " not supported");
} }
@Override @Override
@ -104,7 +104,7 @@ public class YoutubeChannelTabExtractor extends ChannelTabExtractor {
public String getUrl() throws ParsingException { public String getUrl() throws ParsingException {
try { try {
return YoutubeChannelTabLinkHandlerFactory.getInstance().getUrl("channel/" + getId(), return YoutubeChannelTabLinkHandlerFactory.getInstance().getUrl("channel/" + getId(),
Collections.singletonList(getTab()), ""); Collections.singletonList(getName()), "");
} catch (final ParsingException e) { } catch (final ParsingException e) {
return super.getUrl(); return super.getUrl();
} }
@ -266,7 +266,7 @@ public class YoutubeChannelTabExtractor extends ChannelTabExtractor {
} }
Optional<JsonObject> getTabData() throws ParsingException { Optional<JsonObject> getTabData() throws ParsingException {
final String urlSuffix = YoutubeChannelTabLinkHandlerFactory.getUrlSuffix(getTab()); final String urlSuffix = YoutubeChannelTabLinkHandlerFactory.getUrlSuffix(getName());
final JsonArray tabs = initialData.getObject("contents") final JsonArray tabs = initialData.getObject("contents")
.getObject("twoColumnBrowseResultsRenderer") .getObject("twoColumnBrowseResultsRenderer")

View File

@ -40,11 +40,6 @@ public class BandcampChannelTabExtractorTest {
assertEquals(ChannelTabs.TRACKS, extractor.getName()); assertEquals(ChannelTabs.TRACKS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.TRACKS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
@ -98,11 +93,6 @@ public class BandcampChannelTabExtractorTest {
assertEquals(ChannelTabs.ALBUMS, extractor.getName()); assertEquals(ChannelTabs.ALBUMS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.ALBUMS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {

View File

@ -44,11 +44,6 @@ public class PeertubeAccountTabExtractorTest {
assertEquals(ChannelTabs.VIDEOS, extractor.getName()); assertEquals(ChannelTabs.VIDEOS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.VIDEOS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
@ -113,11 +108,6 @@ public class PeertubeAccountTabExtractorTest {
assertEquals(ChannelTabs.CHANNELS, extractor.getName()); assertEquals(ChannelTabs.CHANNELS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.CHANNELS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {

View File

@ -48,11 +48,6 @@ public class PeertubeChannelTabExtractorTest {
assertEquals(ChannelTabs.VIDEOS, extractor.getName()); assertEquals(ChannelTabs.VIDEOS, extractor.getName());
} }
@Test
public void testTab() throws ParsingException {
assertEquals(ChannelTabs.VIDEOS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
@ -123,11 +118,6 @@ public class PeertubeChannelTabExtractorTest {
assertEquals(ChannelTabs.PLAYLISTS, extractor.getName()); assertEquals(ChannelTabs.PLAYLISTS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.PLAYLISTS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
@ -182,11 +172,6 @@ public class PeertubeChannelTabExtractorTest {
assertEquals(ChannelTabs.CHANNELS, extractor.getName()); assertEquals(ChannelTabs.CHANNELS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.CHANNELS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {

View File

@ -42,11 +42,6 @@ public class SoundcloudChannelTabExtractorTest {
assertEquals(ChannelTabs.TRACKS, extractor.getName()); assertEquals(ChannelTabs.TRACKS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.TRACKS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws Exception { public void testId() throws Exception {
@ -112,11 +107,6 @@ public class SoundcloudChannelTabExtractorTest {
assertEquals(ChannelTabs.PLAYLISTS, extractor.getName()); assertEquals(ChannelTabs.PLAYLISTS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.PLAYLISTS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
@ -171,11 +161,6 @@ public class SoundcloudChannelTabExtractorTest {
assertEquals(ChannelTabs.ALBUMS, extractor.getName()); assertEquals(ChannelTabs.ALBUMS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.ALBUMS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {

View File

@ -44,11 +44,6 @@ public class YouTubeChannelTabExtractorTest {
assertEquals(ChannelTabs.PLAYLISTS, extractor.getName()); assertEquals(ChannelTabs.PLAYLISTS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.PLAYLISTS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
@ -104,11 +99,6 @@ public class YouTubeChannelTabExtractorTest {
assertEquals(ChannelTabs.CHANNELS, extractor.getName()); assertEquals(ChannelTabs.CHANNELS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.CHANNELS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
@ -163,11 +153,6 @@ public class YouTubeChannelTabExtractorTest {
assertEquals(ChannelTabs.LIVESTREAMS, extractor.getName()); assertEquals(ChannelTabs.LIVESTREAMS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.LIVESTREAMS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {
@ -221,11 +206,6 @@ public class YouTubeChannelTabExtractorTest {
assertEquals(ChannelTabs.SHORTS, extractor.getName()); assertEquals(ChannelTabs.SHORTS, extractor.getName());
} }
@Test
public void testTab() {
assertEquals(ChannelTabs.SHORTS, extractor.getTab());
}
@Test @Test
@Override @Override
public void testId() throws ParsingException { public void testId() throws ParsingException {