diff options
Diffstat (limited to 'module/plugins/hoster/EuroshareEu.py')
-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) |