diff options
| author | 2016-07-20 00:45:05 +0200 | |
|---|---|---|
| committer | 2016-07-20 00:45:05 +0200 | |
| commit | 09ec41fd28a680fcb1be30f0d3aba043b8fe50b8 (patch) | |
| tree | acafdea742df0446e55ded3a0f1c6048140af2c1 /module/plugins/hoster | |
| parent | [RelinkUs] fix #2548 (diff) | |
| download | pyload-09ec41fd28a680fcb1be30f0d3aba043b8fe50b8.tar.xz | |
[EuroshareEu] fix #2551
Diffstat (limited to 'module/plugins/hoster')
| -rw-r--r-- | module/plugins/hoster/EuroshareEu.py | 40 | 
1 files changed, 14 insertions, 26 deletions
| diff --git a/module/plugins/hoster/EuroshareEu.py b/module/plugins/hoster/EuroshareEu.py index 3ef8f89bd..a3143ce1f 100644 --- a/module/plugins/hoster/EuroshareEu.py +++ b/module/plugins/hoster/EuroshareEu.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster  class EuroshareEu(SimpleHoster):      __name__    = "EuroshareEu"      __type__    = "hoster" -    __version__ = "0.37" +    __version__ = "0.38"      __status__  = "testing"      __pattern__ = r'http://(?:www\.)?euroshare\.(eu|sk|cz|hu|pl)/file/.+' @@ -20,15 +20,17 @@ class EuroshareEu(SimpleHoster):      __description__ = """Euroshare.eu hoster plugin"""      __license__     = "GPLv3" -    __authors__     = [("zoidberg", "zoidberg@mujmail.cz")] +    __authors__     = [("zoidberg",  "zoidberg@mujmail.cz"      ), +                       ("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] -    NAME_PATTERN    = r'<h1 class="nazev-souboru">(?P<N>.+?)</h1>' -    SIZE_PATTERN    = r'<p class="posledni vpravo">.*\| (?P<S>.+?) (?P<U>.+?)</p>' +    NAME_PATTERN    = r'<div class="main-panel__title">(?P<N>.+?)</div>' +    SIZE_PATTERN    = r'File size: (?P<S>[\d.,]+) (?P<U>[\w^_]+)' -    OFFLINE_PATTERN = ur'<h2>S.bor sa nena.iel</h2>|Požadovaná stránka neexistuje!' +    OFFLINE_PATTERN = ur'<h2>S.bor sa nena.iel</h2>|<div class="container">FILE NOT FOUND</div>' +    TEMP_OFFLINE_PATTERN = r'^unmatchable$' #@TODO: find out the real TEMP_OFFLINE_PATTERN -    LINK_FREE_PATTERN = r'onclick="return checkLoad\(\);" href="(.+?)" class="tlacitko velky"' +    LINK_PATTERN = r'<a href="(http://\w+\.euroshare\.eu/file/.+?\?download_token=\w+)"'      DL_LIMIT_PATTERN = r'<h2>Prebieha s.ahovanie</h2>|<p>Naraz je z jednej IP adresy mo.n. s.ahova. iba jeden s.bor'      ERROR_PATTERN    = r'href="/customer-zone/login/"' @@ -36,32 +38,18 @@ class EuroshareEu(SimpleHoster):      URL_REPLACEMENTS = [(r'(http://[^/]*\.)(sk|cz|hu|pl)/', r'\1eu/')] -    def handle_premium(self, pyfile): -        if self.ERROR_PATTERN in self.data: -            self.account.relogin() -            self.retry(msg=_("User not logged in")) - -        self.link = pyfile.url.rstrip('/') + "/download/" - -        check = self.scan_download({ -            'login': re.compile(self.ERROR_PATTERN), -            'json' : re.compile(r'\{"status":"error".*?"message":"(.*?)"') -        }) - -        if check == "login" or (check == "json" and self.last_check.group(1) == "Access token expired"): -            self.account.relogin() -            self.retry(msg=_("Access token expired")) - -        elif check == "json": -            self.fail(self.last_check.group(1)) +    def setup(self): +        self.resume_download = True      def handle_free(self, pyfile):          if re.search(self.DL_LIMIT_PATTERN, self.data):              self.wait(5 * 60, 12, _("Download limit reached")) -        m = re.search(self.LINK_FREE_PATTERN, self.data) +        self.data = self.load(pyfile.url, get={'download': "true"}) + +        m = re.search(self.LINK_PATTERN, self.data)          if m is None: -            self.error(_("LINK_FREE_PATTERN not found")) +            self.error(_("LINK_PATTERN not found"))          self.link = m.group(1) | 
