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.SizeBlacklistFilter;
import net.pterodactylus.rhynodge.filters.torrents.PirateBayFilter;
+import net.pterodactylus.rhynodge.mergers.TorrentMerger;
+import net.pterodactylus.rhynodge.queries.FallbackQuery;
import net.pterodactylus.rhynodge.queries.HttpQuery;
-import net.pterodactylus.rhynodge.triggers.NewTorrentTrigger;
import com.google.common.collect.ImmutableList;
* The terms to search for
*/
public PirateBayWatcher(String searchTerms, String proxy) {
- super(createHttpQuery(searchTerms, extractProxyHost(proxy), extractProxyPort(proxy)), createFilters(), createTrigger());
+ super(createHttpQuery(searchTerms, extractProxyHost(proxy), extractProxyPort(proxy)), createFilters(), new TorrentMerger());
}
private static String extractProxyHost(String proxy) {
*/
private static Query createHttpQuery(String searchTerms, String proxyHost, int proxyPort) {
try {
- return new HttpQuery("http://uj3wazyk5u4hnvtk.onion/search/" + URLEncoder.encode(searchTerms, "UTF-8") + "/0/3/0", proxyHost, proxyPort);
+ HttpQuery hiddenServiceQuery = new HttpQuery("http://uj3wazyk5u4hnvtk.onion/search/" + URLEncoder.encode(searchTerms, "UTF-8") + "/0/3/0", proxyHost, proxyPort);
+ HttpQuery torQuery = new HttpQuery("http://thepiratebay.org/search/" + URLEncoder.encode(searchTerms, "UTF-8") + "/0/3/0", proxyHost, proxyPort);
+ HttpQuery plainInternetQuery = new HttpQuery("http://thepiratebay.org/search/" + URLEncoder.encode(searchTerms, "UTF-8") + "/0/3/0");
+ return new FallbackQuery(hiddenServiceQuery, torQuery, plainInternetQuery);
} catch (UnsupportedEncodingException uee1) {
/* will not happen. */
return null;
* @return The filters of the watcher
*/
private static List<Filter> createFilters() {
- return ImmutableList.of(new HtmlFilter(), new PirateBayFilter(), createDefaultBlacklistFilter());
- }
-
- /**
- * Creates the trigger of the watcher.
- *
- * @return The trigger of the watcher
- */
- private static Trigger createTrigger() {
- return new NewTorrentTrigger();
+ return ImmutableList.of(new HtmlFilter(), new PirateBayFilter(), createDefaultBlacklistFilter(), new SizeBlacklistFilter());
}
}