Skip to content

Commit 5090373

Browse files
committed
[Bandcamp] Fix accepting HTTP URLs
1 parent 74b46fe commit 5090373

3 files changed

Lines changed: 12 additions & 4 deletions

File tree

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package org.schabi.newpipe.extractor.services.bandcamp.linkHandler;
44

55
import org.schabi.newpipe.extractor.linkhandler.ListLinkHandlerFactory;
6+
import org.schabi.newpipe.extractor.utils.Utils;
67

78
import java.util.List;
89

@@ -25,8 +26,9 @@ public String getUrl(final String id, final List<String> contentFilter, final St
2526
}
2627

2728
@Override
28-
public String getId(final String url) {
29-
if (url.matches("https?://bandcamp\\.com/\\?show=\\d+") || url.equals(RADIO_API_URL)) {
29+
public String getId(String url) {
30+
url = Utils.replaceHttpWithHttps(url);
31+
if (url.matches("https://bandcamp\\.com/\\?show=\\d+") || url.equals(RADIO_API_URL)) {
3032
return KIOSK_RADIO;
3133
} else if (url.equals(FEATURED_API_URL)) {
3234
return KIOSK_FEATURED;
@@ -36,8 +38,9 @@ public String getId(final String url) {
3638
}
3739

3840
@Override
39-
public boolean onAcceptUrl(final String url) {
41+
public boolean onAcceptUrl(String url) {
42+
url = Utils.replaceHttpWithHttps(url);
4043
return url.equals(FEATURED_API_URL) || (url.equals(RADIO_API_URL)
41-
|| url.matches("https?://bandcamp\\.com/\\?show=\\d+"));
44+
|| url.matches("https://bandcamp\\.com/\\?show=\\d+"));
4245
}
4346
}

extractor/src/test/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampChannelLinkHandlerFactoryTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ public void testAcceptUrl() throws ParsingException {
3131
assertTrue(linkHandler.acceptUrl("https://zachbenson.bandcamp.com/"));
3232
assertTrue(linkHandler.acceptUrl("https://billwurtz.bandcamp.com/releases"));
3333

34+
assertTrue(linkHandler.acceptUrl("http://zachbenson.bandcamp.com/"));
35+
3436
assertFalse(linkHandler.acceptUrl("https://bandcamp.com"));
3537
assertFalse(linkHandler.acceptUrl("https://zachbenson.bandcamp.com/track/kitchen"));
3638

@@ -44,6 +46,7 @@ public void testAcceptUrl() throws ParsingException {
4446
@Test
4547
public void testGetId() throws ParsingException {
4648
assertEquals("1196681540", linkHandler.getId("https://macbenson.bandcamp.com/"));
49+
assertEquals("1196681540", linkHandler.getId("http://macbenson.bandcamp.com/"));
4750
assertEquals("1581461772", linkHandler.getId("https://interovgm.com/releases"));
4851
assertEquals("3321800855", linkHandler.getId("https://infiniteammo.bandcamp.com/"));
4952
assertEquals("3775652329", linkHandler.getId("https://npet.bandcamp.com/"));

extractor/src/test/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampFeaturedLinkHandlerFactoryTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public static void setUp() {
2424

2525
@Test
2626
public void testAcceptUrl() throws ParsingException {
27+
assertTrue(linkHandler.acceptUrl("http://bandcamp.com/?show=1"));
2728
assertTrue(linkHandler.acceptUrl("https://bandcamp.com/?show=1"));
2829
assertTrue(linkHandler.acceptUrl("http://bandcamp.com/?show=2"));
2930
assertTrue(linkHandler.acceptUrl("https://bandcamp.com/api/mobile/24/bootstrap_data"));
@@ -42,6 +43,7 @@ public void testGetUrl() throws ParsingException {
4243

4344
@Test
4445
public void testGetId() {
46+
assertEquals("Featured", linkHandler.getId("http://bandcamp.com/api/mobile/24/bootstrap_data"));
4547
assertEquals("Featured", linkHandler.getId("https://bandcamp.com/api/mobile/24/bootstrap_data"));
4648
assertEquals("Radio", linkHandler.getId("http://bandcamp.com/?show=1"));
4749
assertEquals("Radio", linkHandler.getId("https://bandcamp.com/api/bcweekly/1/list"));

0 commit comments

Comments
 (0)