# -*- coding: utf-8 -*-
import re
from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class EdiskCz(SimpleHoster):
__name__ = "EdiskCz"
__type__ = "hoster"
__version__ = "0.22"
__pattern__ = r'http://(?:www\.)?edisk\.(cz|sk|eu)/(stahni|sk/stahni|en/download)/.*'
__description__ = """Edisk.cz hoster plugin"""
__license__ = "GPLv3"
__authors__ = [("zoidberg", "zoidberg@mujmail.cz")]
FILE_INFO_PATTERN = r'\s*.*?\((?P[\d.,]+) (?P[\w^_]+)\)'
OFFLINE_PATTERN = r'
This file does not exist due to one of the following:
- '
ACTION_PATTERN = r'/en/download/(\d+/.*\.html)'
LINK_PATTERN = r'http://.*edisk\.cz.*\.html'
def setup(self):
self.multiDL = False
def process(self, pyfile):
url = re.sub("/(stahni|sk/stahni)/", "/en/download/", pyfile.url)
self.logDebug("URL:" + url)
m = re.search(self.ACTION_PATTERN, url)
if m is None:
self.error(_("ACTION_PATTERN not found"))
action = m.group(1)
self.html = self.load(url, decode=True)
self.getFileInfo()
self.html = self.load(re.sub("/en/download/", "/en/download-slow/", url))
url = self.load(re.sub("/en/download/", "/x-download/", url), post={
"action": action
})
if not re.match(self.LINK_PATTERN, url):
self.fail(_("Unexpected server response"))
self.download(url)
getInfo = create_getInfo(EdiskCz)