Search in sources :

Example 1 with Engine

use of com.biglybt.core.metasearch.Engine in project BiglyBT by BiglySoftware.

the class SubscriptionUtils method getSubscriptionChatKey.

public static String getSubscriptionChatKey(Subscription subs) {
    try {
        String key = null;
        Engine engine = subs.getEngine();
        if (engine instanceof WebEngine) {
            WebEngine web_engine = (WebEngine) subs.getEngine();
            key = web_engine.getSearchUrl(true);
        } else {
            key = subs.getQueryKey();
        }
        if (key != null) {
            key = "Subscription: " + key;
        }
        return (key);
    } catch (Throwable e) {
        return (null);
    }
}
Also used : WebEngine(com.biglybt.core.metasearch.impl.web.WebEngine) Engine(com.biglybt.core.metasearch.Engine) WebEngine(com.biglybt.core.metasearch.impl.web.WebEngine)

Example 2 with Engine

use of com.biglybt.core.metasearch.Engine in project BiglyBT by BiglySoftware.

the class SubscriptionDownloader method download.

protected void download() throws SubscriptionException {
    log("Downloading");
    Map map = JSONUtils.decodeJSON(subs.getJSON());
    Long engine_id = (Long) map.get("engine_id");
    String search_term = (String) map.get("search_term");
    String networks = (String) map.get("networks");
    Map filters = (Map) map.get("filters");
    Engine engine = manager.getEngine(subs, map, false);
    if (engine == null) {
        throw (new SubscriptionException("Download failed, search engine " + engine_id + " not found"));
    }
    List sps = new ArrayList();
    if (search_term != null) {
        sps.add(new SearchParameter("s", search_term));
        log("    Using search term '" + search_term + "' for engine " + engine.getString());
    }
    if (networks != null && networks.length() > 0) {
        sps.add(new SearchParameter("n", networks));
    }
    /*
		if ( mature != null ){

			sps.add( new SearchParameter( "m", mature.toString()));
		}
		*/
    SearchParameter[] parameters = (SearchParameter[]) sps.toArray(new SearchParameter[sps.size()]);
    SubscriptionHistoryImpl history = (SubscriptionHistoryImpl) subs.getHistory();
    try {
        Map context = new HashMap();
        context.put(Engine.SC_SOURCE, "subscription");
        Result[] results = engine.search(parameters, context, -1, -1, null, null);
        log("    Got " + results.length + " results");
        SubscriptionResultFilterImpl result_filter = new SubscriptionResultFilterImpl(subs, filters);
        results = result_filter.filter(results);
        log("    Post-filter: " + results.length + " results");
        SubscriptionResultImpl[] s_results = new SubscriptionResultImpl[results.length];
        for (int i = 0; i < results.length; i++) {
            SubscriptionResultImpl s_result = new SubscriptionResultImpl(history, results[i]);
            s_results[i] = s_result;
        }
        SubscriptionResultImpl[] all_results = history.reconcileResults(engine, s_results);
        checkAutoDownload(all_results);
        history.setLastError(null, false);
    } catch (Throwable e) {
        log("    Download failed", e);
        history.setLastError(Debug.getNestedExceptionMessage(e), e instanceof SearchLoginException);
        throw (new SubscriptionException("Search failed", e));
    }
}
Also used : SubscriptionException(com.biglybt.core.subs.SubscriptionException) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) SearchLoginException(com.biglybt.core.metasearch.SearchLoginException) Result(com.biglybt.core.metasearch.Result) List(java.util.List) ArrayList(java.util.ArrayList) SearchParameter(com.biglybt.core.metasearch.SearchParameter) Map(java.util.Map) HashMap(java.util.HashMap) Engine(com.biglybt.core.metasearch.Engine)

Example 3 with Engine

use of com.biglybt.core.metasearch.Engine in project BiglyBT by BiglySoftware.

the class SubscriptionImpl method getReferer.

@Override
public String getReferer() {
    if (referer == null) {
        try {
            Map map = JSONUtils.decodeJSON(getJSON());
            Engine engine = manager.getEngine(this, map, false);
            if (engine != null) {
                referer = engine.getReferer();
            }
        } catch (Throwable e) {
            log("Failed to get referer", e);
        }
        if (referer == null) {
            referer = "";
        }
    }
    return (referer);
}
Also used : Engine(com.biglybt.core.metasearch.Engine)

Example 4 with Engine

use of com.biglybt.core.metasearch.Engine in project BiglyBT by BiglySoftware.

the class SubscriptionManagerImpl method createSingletonRSSSupport.

protected Subscription createSingletonRSSSupport(String name, URL url, boolean is_public, int check_interval_mins, boolean is_anon, int add_type, boolean subscribe) throws SubscriptionException {
    checkURL(url);
    try {
        Subscription existing = lookupSingletonRSS(name, url, is_public, check_interval_mins, is_anon);
        if (existing != null) {
            return (existing);
        }
        Engine engine = MetaSearchManagerFactory.getSingleton().getMetaSearch().createRSSEngine(name, url);
        String json = SubscriptionImpl.getSkeletonJSON(engine, check_interval_mins);
        Map singleton_details = getSingletonMap(name, url, is_public, check_interval_mins, is_anon);
        SubscriptionImpl subs = new SubscriptionImpl(this, name, is_public, is_anon, singleton_details, json, add_type);
        subs.setSubscribed(subscribe);
        log("Created new singleton subscription: " + subs.getString());
        subs = addSubscription(subs);
        if (subs.isPublic() && subs.isMine() && subs.isSearchTemplate()) {
            updatePublicSubscription(subs);
        }
        return (subs);
    } catch (SubscriptionException e) {
        throw ((SubscriptionException) e);
    } catch (Throwable e) {
        throw (new SubscriptionException("Failed to create subscription", e));
    }
}
Also used : WebEngine(com.biglybt.core.metasearch.impl.web.WebEngine) Engine(com.biglybt.core.metasearch.Engine) RSSEngine(com.biglybt.core.metasearch.impl.web.rss.RSSEngine)

Example 5 with Engine

use of com.biglybt.core.metasearch.Engine in project BiglyBT by BiglySoftware.

the class SubscriptionManagerImpl method subscribeToSubscription.

@Override
public Subscription subscribeToSubscription(String uri) throws Exception {
    SubscriptionManager manager = SubscriptionManagerFactory.getSingleton();
    Subscription subs = manager.createFromURI(uri);
    if (!subs.isSubscribed()) {
        subs.setSubscribed(true);
    }
    if (subs.isSearchTemplate()) {
        try {
            VuzeFile vf = subs.getSearchTemplateVuzeFile();
            if (vf != null) {
                VuzeFileHandler.getSingleton().handleFiles(new VuzeFile[] { vf }, VuzeFileComponent.COMP_TYPE_NONE);
                for (VuzeFileComponent comp : vf.getComponents()) {
                    Engine engine = (Engine) comp.getData(Engine.VUZE_FILE_COMPONENT_ENGINE_KEY);
                    if (engine != null && (engine.getSelectionState() == Engine.SEL_STATE_DESELECTED || engine.getSelectionState() == Engine.SEL_STATE_FORCE_DESELECTED)) {
                        engine.setSelectionState(Engine.SEL_STATE_MANUAL_SELECTED);
                    }
                }
            }
        } catch (Throwable e) {
            Debug.out(e);
        }
    } else {
        subs.requestAttention();
    }
    return (subs);
}
Also used : VuzeFileComponent(com.biglybt.core.vuzefile.VuzeFileComponent) VuzeFile(com.biglybt.core.vuzefile.VuzeFile) WebEngine(com.biglybt.core.metasearch.impl.web.WebEngine) Engine(com.biglybt.core.metasearch.Engine) RSSEngine(com.biglybt.core.metasearch.impl.web.rss.RSSEngine)

Aggregations

Engine (com.biglybt.core.metasearch.Engine)24 WebEngine (com.biglybt.core.metasearch.impl.web.WebEngine)18 RSSEngine (com.biglybt.core.metasearch.impl.web.rss.RSSEngine)9 Subscription (com.biglybt.core.subs.Subscription)5 VuzeFile (com.biglybt.core.vuzefile.VuzeFile)4 URL (java.net.URL)4 PluginEngine (com.biglybt.core.metasearch.impl.plugin.PluginEngine)3 SubscriptionException (com.biglybt.core.subs.SubscriptionException)2 VuzeFileComponent (com.biglybt.core.vuzefile.VuzeFileComponent)2 MenuItemFillListener (com.biglybt.pif.ui.menus.MenuItemFillListener)2 UserPrompterResultListener (com.biglybt.ui.UserPrompterResultListener)2 ArrayList (java.util.ArrayList)2 Menu (org.eclipse.swt.widgets.Menu)2 MenuItem (org.eclipse.swt.widgets.MenuItem)2 Result (com.biglybt.core.metasearch.Result)1 SearchLoginException (com.biglybt.core.metasearch.SearchLoginException)1 SearchParameter (com.biglybt.core.metasearch.SearchParameter)1 PluginProxy (com.biglybt.core.proxy.AEProxyFactory.PluginProxy)1 SubscriptionManagerListener (com.biglybt.core.subs.SubscriptionManagerListener)1 SubscriptionResult (com.biglybt.core.subs.SubscriptionResult)1