diff options
Diffstat (limited to 'module')
| -rw-r--r-- | module/plugins/accounts/DebridItaliaCom.py | 35 | ||||
| -rw-r--r-- | module/plugins/hooks/DebridItaliaCom.py | 25 | ||||
| -rw-r--r-- | module/plugins/hoster/DebridItaliaCom.py | 38 | 
3 files changed, 98 insertions, 0 deletions
| diff --git a/module/plugins/accounts/DebridItaliaCom.py b/module/plugins/accounts/DebridItaliaCom.py new file mode 100644 index 000000000..d68f1c8a8 --- /dev/null +++ b/module/plugins/accounts/DebridItaliaCom.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- + +import re +import _strptime +import time + +from module.plugins.Account import Account + + +class DebridItaliaCom(Account): +    __name__ = "DebridItaliaCom" +    __version__ = "0.1" +    __type__ = "account" +    __description__ = """debriditalia.com account plugin""" +    __author_name__ = ("stickell") +    __author_mail__ = ("l.stickell@yahoo.it") + +    WALID_UNTIL_PATTERN = r"Premium valid till: (?P<D>[^|]+) \|" + +    def loadAccountInfo(self, user, req): +        if 'Account premium not activated' in self.html: +            return {"premium": False, "validuntil": None, "trafficleft": None} + +        m = re.search(self.WALID_UNTIL_PATTERN, self.html) +        if m: +            validuntil = int(time.mktime(time.strptime(m.group('D'), "%d/%m/%Y %H:%M"))) +            return {"premium": True, "validuntil": validuntil, "trafficleft": -1} +        else: +            self.logError('Unable to retrieve account information - Plugin may be out of date') + +    def login(self, user, data, req): +        self.html = req.load("http://debriditalia.com/login.php", +                             get={"u": user, "p": data["password"]}) +        if 'NO' in self.html: +            self.wrongPassword() diff --git a/module/plugins/hooks/DebridItaliaCom.py b/module/plugins/hooks/DebridItaliaCom.py new file mode 100644 index 000000000..8cd997f4d --- /dev/null +++ b/module/plugins/hooks/DebridItaliaCom.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.MultiHoster import MultiHoster + + +class DebridItaliaCom(MultiHoster): +    __name__ = "DebridItaliaCom" +    __version__ = "0.01" +    __type__ = "hook" +    __config__ = [("activated", "bool", "Activated", "False"), +                  ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), +                  ("hosterList", "str", "Hoster list (comma separated)", ""), +                  ("unloadFailing", "bool", "Revert to standard download if download fails", "False"), +                  ("interval", "int", "Reload interval in hours (0 to disable)", "24")] + +    __description__ = """Debriditalia.com hook plugin""" +    __author_name__ = ("stickell") +    __author_mail__ = ("l.stickell@yahoo.it") + +    def getHoster(self): +        return ["netload.in", "hotfile.com", "rapidshare.com", "multiupload.com", +                "uploading.com", "megashares.com", "crocko.com", "filepost.com", +                "bitshare.com", "share-links.biz", "putlocker.com", "uploaded.to", +                "speedload.org", "rapidgator.net", "likeupload.net", "cyberlocker.ch", +                "depositfiles.com", "extabit.com", "filefactory.com", "sharefiles.co"] diff --git a/module/plugins/hoster/DebridItaliaCom.py b/module/plugins/hoster/DebridItaliaCom.py new file mode 100644 index 000000000..5142bbdf7 --- /dev/null +++ b/module/plugins/hoster/DebridItaliaCom.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +import re + +from module.plugins.Hoster import Hoster + + +class DebridItaliaCom(Hoster): +    __name__ = "DebridItaliaCom" +    __version__ = "0.01" +    __type__ = "hoster" +    __pattern__ = r"https?://.*debriditalia\.com" +    __description__ = """Debriditalia.com hoster plugin""" +    __author_name__ = ("stickell") +    __author_mail__ = ("l.stickell@yahoo.it") + +    def init(self): +        self.chunkLimit = -1 +        self.resumeDownload = True + +    def process(self, pyfile): +        if not self.account: +            self.logError("Please enter your DebridItalia account or deactivate this plugin") +            self.fail("No DebridItalia account provided") + +        self.logDebug("Old URL: %s" % pyfile.url) +        if re.match(self.__pattern__, pyfile.url): +            new_url = pyfile.url +        else: +            url = "http://debriditalia.com/linkgen2.php?xjxfun=convertiLink&xjxargs[]=S<![CDATA[%s]]>" % pyfile.url +            page = self.load(url) +            self.logDebug("XML data: %s" % page) + +            new_url = re.search(r'<a href="(?:[^"]+)">(?P<direct>[^<]+)</a>', page).group('direct') + +        self.logDebug("New URL: %s" % new_url) + +        self.download(new_url, disposition=True)
\ No newline at end of file | 
