X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Fwatchers%2FPirateBayWatcher.java;h=b99d6e56878dcefbfd46efe905f0b2ccaa2a44b4;hb=b1c7de25c9ce6b9ced6a659539bb2dab68c09866;hp=ef6f74389ee0510fafc26762e1c2b020a4bc0d22;hpb=e40007dc074c9e67258f1a4dcf4d526083ea7ec4;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/watchers/PirateBayWatcher.java b/src/main/java/net/pterodactylus/rhynodge/watchers/PirateBayWatcher.java index ef6f743..b99d6e5 100644 --- a/src/main/java/net/pterodactylus/rhynodge/watchers/PirateBayWatcher.java +++ b/src/main/java/net/pterodactylus/rhynodge/watchers/PirateBayWatcher.java @@ -17,6 +17,8 @@ package net.pterodactylus.rhynodge.watchers; +import static net.pterodactylus.rhynodge.filters.BlacklistFilter.createDefaultBlacklistFilter; + import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.List; @@ -24,15 +26,16 @@ import java.util.List; import net.pterodactylus.rhynodge.Filter; import net.pterodactylus.rhynodge.Query; import net.pterodactylus.rhynodge.Trigger; +import net.pterodactylus.rhynodge.Watcher; import net.pterodactylus.rhynodge.filters.HtmlFilter; -import net.pterodactylus.rhynodge.filters.PirateBayFilter; +import net.pterodactylus.rhynodge.filters.torrents.PirateBayFilter; import net.pterodactylus.rhynodge.queries.HttpQuery; import net.pterodactylus.rhynodge.triggers.NewTorrentTrigger; import com.google.common.collect.ImmutableList; /** - * {@Watcher} implementation that watches The Pirate Bay for new files. + * {@link Watcher} implementation that watches The Pirate Bay for new files. * * @author David ‘Bombe’ Roden */ @@ -44,8 +47,16 @@ public class PirateBayWatcher extends DefaultWatcher { * @param searchTerms * The terms to search for */ - public PirateBayWatcher(String searchTerms) { - super(createHttpQuery(searchTerms), createFilters(), createTrigger()); + public PirateBayWatcher(String searchTerms, String proxy) { + super(createHttpQuery(searchTerms, extractProxyHost(proxy), extractProxyPort(proxy)), createFilters(), createTrigger()); + } + + private static String extractProxyHost(String proxy) { + return proxy.split(":")[0]; + } + + private static int extractProxyPort(String proxy) { + return Integer.valueOf(proxy.split(":")[1]); } // @@ -59,9 +70,9 @@ public class PirateBayWatcher extends DefaultWatcher { * The search terms of the query * @return The query of the watcher */ - private static Query createHttpQuery(String searchTerms) { + private static Query createHttpQuery(String searchTerms, String proxyHost, int proxyPort) { try { - return new HttpQuery("http://thepiratebay.se/search/" + URLEncoder.encode(searchTerms, "UTF-8") + "/0/3/0"); + return new HttpQuery("http://thepiratebay.org/search/" + URLEncoder.encode(searchTerms, "UTF-8") + "/0/3/0", proxyHost, proxyPort); } catch (UnsupportedEncodingException uee1) { /* will not happen. */ return null; @@ -74,7 +85,7 @@ public class PirateBayWatcher extends DefaultWatcher { * @return The filters of the watcher */ private static List createFilters() { - return ImmutableList. of(new HtmlFilter(), new PirateBayFilter()); + return ImmutableList.of(new HtmlFilter(), new PirateBayFilter(), createDefaultBlacklistFilter()); } /**