Skip to content

Commit 8568f19

Browse files
committed
[Bandcamp]
1 parent debb776 commit 8568f19

2 files changed

Lines changed: 20 additions & 25 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampChannelTabExtractor.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
1313
import org.schabi.newpipe.extractor.exceptions.ParsingException;
1414
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandler;
15+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
1516
import org.schabi.newpipe.extractor.services.bandcamp.extractors.streaminfoitem.BandcampDiscographStreamInfoItemExtractor;
1617

1718
import javax.annotation.Nonnull;
@@ -25,16 +26,13 @@ public BandcampChannelTabExtractor(final StreamingService service,
2526
final ListLinkHandler linkHandler) {
2627
super(service, linkHandler);
2728

28-
final String tab = linkHandler.getContentFilters().get(0);
29-
switch (tab) {
30-
case ChannelTabs.TRACKS:
31-
filter = "track";
32-
break;
33-
case ChannelTabs.ALBUMS:
34-
filter = "album";
35-
break;
36-
default:
37-
throw new IllegalArgumentException("Unsupported channel tab: " + tab);
29+
final FilterItem type = getChannelTabType();
30+
if (type.equals(ChannelTabs.TRACKS)) {
31+
filter = "track";
32+
} else if (type.equals(ChannelTabs.ALBUMS)) {
33+
filter = "album";
34+
} else {
35+
throw new IllegalArgumentException("Unsupported channel tab: " + type);
3836
}
3937
}
4038

extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/linkHandler/BandcampChannelTabLinkHandlerFactory.java

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@
55
import org.schabi.newpipe.extractor.channel.tabs.ChannelTabs;
66
import org.schabi.newpipe.extractor.exceptions.UnsupportedTabException;
77
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandlerFactory;
8+
import org.schabi.newpipe.extractor.search.filter.FilterItem;
89

910
import javax.annotation.Nonnull;
11+
import javax.annotation.Nullable;
12+
1013
import java.util.List;
1114

1215
public final class BandcampChannelTabLinkHandlerFactory extends ListLinkHandlerFactory {
@@ -35,12 +38,12 @@ public static BandcampChannelTabLinkHandlerFactory getInstance() {
3538
* @throws UnsupportedTabException if the tab is not supported
3639
*/
3740
@Nonnull
38-
public static String getUrlSuffix(@Nonnull final String tab) throws UnsupportedTabException {
39-
switch (tab) {
40-
case ChannelTabs.TRACKS:
41-
return "/track";
42-
case ChannelTabs.ALBUMS:
43-
return "/album";
41+
public static String getUrlSuffix(@Nonnull final FilterItem tab)
42+
throws UnsupportedTabException {
43+
if (tab.equals(ChannelTabs.TRACKS)) {
44+
return "/track";
45+
} else if (tab.equals(ChannelTabs.ALBUMS)) {
46+
return "/album";
4447
}
4548
throw new UnsupportedTabException(tab);
4649
}
@@ -51,7 +54,9 @@ public String getId(final String url) throws ParsingException, UnsupportedOperat
5154
}
5255

5356
@Override
54-
public String getUrl(final String id, final List<String> contentFilter, final String sortFilter)
57+
public String getUrl(final String id,
58+
@Nonnull final List<FilterItem> contentFilter,
59+
@Nullable final List<FilterItem> sortFilter)
5560
throws ParsingException, UnsupportedOperationException {
5661
return BandcampChannelLinkHandlerFactory.getInstance().getUrl(id)
5762
+ getUrlSuffix(contentFilter.get(0));
@@ -61,12 +66,4 @@ public String getUrl(final String id, final List<String> contentFilter, final St
6166
public boolean onAcceptUrl(final String url) throws ParsingException {
6267
return BandcampChannelLinkHandlerFactory.getInstance().onAcceptUrl(url);
6368
}
64-
65-
@Override
66-
public String[] getAvailableContentFilter() {
67-
return new String[]{
68-
ChannelTabs.TRACKS,
69-
ChannelTabs.ALBUMS,
70-
};
71-
}
7269
}

0 commit comments

Comments
 (0)