diff options
| author | 2012-10-09 01:10:18 +0200 | |
|---|---|---|
| committer | 2012-10-09 01:10:18 +0200 | |
| commit | b01b2b3d9559b8352ee65ee2eff30843e6071987 (patch) | |
| tree | c6c177ac4bdc2c720c34b069be5ad6655e8a6525 /module/plugins | |
| parent | filebeer workaround, rehost.to chunklimit, multihoster config (diff) | |
| download | pyload-b01b2b3d9559b8352ee65ee2eff30843e6071987.tar.xz | |
euroshare.eu premium
Diffstat (limited to 'module/plugins')
| -rw-r--r-- | module/plugins/accounts/EuroshareEu.py | 55 | ||||
| -rw-r--r-- | module/plugins/hoster/EuroshareEu.py | 22 | 
2 files changed, 69 insertions, 8 deletions
diff --git a/module/plugins/accounts/EuroshareEu.py b/module/plugins/accounts/EuroshareEu.py new file mode 100644 index 000000000..42967d975 --- /dev/null +++ b/module/plugins/accounts/EuroshareEu.py @@ -0,0 +1,55 @@ +# -*- 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: zoidberg +""" + +from module.plugins.Account import Account +from time import mktime, strptime +from string import replace +import re + +class EuroshareEu(Account): +    __name__ = "EuroshareEu" +    __version__ = "0.01" +    __type__ = "account" +    __description__ = """euroshare.eu account plugin""" +    __author_name__ = ("zoidberg") +    __author_mail__ = ("zoidberg@mujmail.cz") + +    def loadAccountInfo(self, user, req): +        self.relogin(user) +        html = req.load("http://euroshare.eu/customer-zone/settings/") +         +        found = re.search('id="input_expire_date" value="(\d+\.\d+\.\d+ \d+:\d+)"', html) +        if found is None: +            premium, validuntil = False, -1 +        else: +            premium = True +            validuntil = mktime(strptime(found.group(1), "%d.%m.%Y %H:%M")) +         +        return {"validuntil": validuntil, "trafficleft": -1, "premium": premium} +     +    def login(self, user, data, req): +     +        html = req.load('http://euroshare.eu/customer-zone/login/', post={ +                "trvale": "1", +                "login": user, +                "password": data["password"] +                }, decode=True) +                 +        if u">Nesprávne prihlasovacie meno alebo heslo" in html: +            self.wrongPassword()
\ No newline at end of file diff --git a/module/plugins/hoster/EuroshareEu.py b/module/plugins/hoster/EuroshareEu.py index 2c356f02a..79df56ac4 100644 --- a/module/plugins/hoster/EuroshareEu.py +++ b/module/plugins/hoster/EuroshareEu.py @@ -23,7 +23,7 @@ class EuroshareEu(SimpleHoster):      __name__ = "EuroshareEu"      __type__ = "hoster"      __pattern__ = r"http://(\w*\.)?euroshare.(eu|sk|cz|hu|pl)/file/.*" -    __version__ = "0.21" +    __version__ = "0.22"      __description__ = """Euroshare.eu"""      __author_name__ = ("zoidberg") @@ -31,11 +31,16 @@ class EuroshareEu(SimpleHoster):      FILE_OFFLINE_PATTERN = ur'<h2>S.bor sa nena.iel</h2>|Požadovaná stránka neexistuje!'      FREE_URL_PATTERN = r'<a href="(/file/\d+/[^/]*/download/)"><div class="downloadButton"' -    ERR_PARDL_PATTERN = r'<h2>Prebieha s.ahovanie</h2>'    +    ERR_PARDL_PATTERN = r'<h2>Prebieha s.ahovanie</h2>|<p>Naraz je z jednej IP adresy mo.n. s.ahova. iba jeden s.bor' +     +    FILE_URL_REPLACEMENTS = [(r"(http://[^/]*\.)(sk|cz|hu|pl)/", r"\1eu/")] +     +    def handlePremium(self): +        self.download(self.pyfile.url.rstrip('/') + "/download/")         def handleFree(self):                  if re.search(self.ERR_PARDL_PATTERN, self.html) is not None: -            self.waitForFreeSlot() +            self.longWait(300, 12)          found = re.search(self.FREE_URL_PATTERN, self.html)          if found is None: @@ -43,8 +48,9 @@ class EuroshareEu(SimpleHoster):          parsed_url = "http://euroshare.eu%s" % found.group(1)          self.logDebug("URL", parsed_url)          self.download(parsed_url, disposition=True) - -    def waitForFreeSlot(self): -        self.setWait(300, True) -        self.wait() -        self.retry()
\ No newline at end of file +         +        check = self.checkDownload({"multi_dl": re.compile(self.ERR_PARDL_PATTERN)}) +        if check == "multi_dl": +            self.longWait(300, 12) +             +getInfo = create_getInfo(EuroshareEu)            
\ No newline at end of file  | 
