diff options
Diffstat (limited to 'module/plugins')
| -rw-r--r-- | module/plugins/hooks/JustPremium.py | 76 | 
1 files changed, 76 insertions, 0 deletions
| diff --git a/module/plugins/hooks/JustPremium.py b/module/plugins/hooks/JustPremium.py new file mode 100644 index 000000000..17028ef5e --- /dev/null +++ b/module/plugins/hooks/JustPremium.py @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- +""" +    This program is free software; you can redistribute it and/or modify +    it under the terms of the GNU General Public License as published by +    the Free Software Foundation; either version 3 of the License, +    or (at your option) any later version. + +    This program is distributed in the hope that it will be useful, +    but WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +    See the GNU General Public License for more details. + +    You should have received a copy of the GNU General Public License +    along with this program; if not, see <http://www.gnu.org/licenses/>. + +    @author: mazleu +""" +from module.plugins.Hook import Hook +from module.plugins.Account import Account +from module.plugins.Hoster import Hoster + + +class JustPremium(Hook): +    __name__ = "JustPremium" +    __version__ = "0.15" +    __description__ = "If you add multiple links with at least one premium hoster link, all non premium links get removed" +    __config__ = [("activated", "bool", "Activated", "False"), +    		  ("freehosters","bool", "Allow all freehosters and other unknown sites", "false"), +                  ("nicehoster", "str", "unblock this hosters (comma seperated)", "Zippyshare.com")] +                   +    __author_name__ = ("mazleu") +    __author_mail__ = ("mazleica@gmail.com") + +    event_list = ["linksAdded"] +     +    def coreReady(self) :						          +        accs=str(self.core.accountManager.getAccountInfos()) +	global badhosts							          +	global hosts						 +	hosts = ""							          +	while "[{" in accs:						           +	    startid=accs.rfind("[], ", 0, accs.find("[{"))+2 +	    endid=accs.find("}]",startid)+2 +	    hosts=hosts+","+accs[startid+3:accs.find("'",startid+3)] +	    accs=accs[0:startid]+accs[endid:] +	badhosts=accs.replace("': [], '",",")[2:-6]   		                 +	hosts=hosts[1:] +	hosts=hosts+","+self.getConfig("nicehoster") +	self.logDebug("good hosts:",hosts)	 +        self.logDebug("bad hosts:",badhosts)	 + + +    def filterLinks(self, t):						         +        links = self.core.api.checkURLs(t)				 +        hosterlist ="" +	bhosters = [x.strip() for x in badhosts.split(",")] +	ghosters = [x.strip() for x in hosts.split(",")] +	premhoster = False +	for hoster in links: +	    self.logDebug(hoster) +            if hoster in ghosters: +                premhoster = True +	if premhoster : +	    for hoster in links: +		if self.getConfig("freehosters"): +		    if hoster in bhosters: +			for link in links[hoster]: +			    t.remove(link) +			    self.logDebug("removed link '%s'because hoster was: '%s' " % (link,hoster))      +		else:	 +		    if not hoster in ghosters: +		        for link in links[hoster]: +			    t.remove(link) +			    self.logDebug("removed link '%s'because hoster was: '%s' " % (link,hoster)) +    def linksAdded(self, links, pid): +        self.filterLinks(links) | 
