diff options
Diffstat (limited to 'module/plugins/hoster/FilesMailRu.py')
-rw-r--r-- | module/plugins/hoster/FilesMailRu.py | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/module/plugins/hoster/FilesMailRu.py b/module/plugins/hoster/FilesMailRu.py deleted file mode 100644 index ee4ea4953..000000000 --- a/module/plugins/hoster/FilesMailRu.py +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import re -from module.plugins.Hoster import Hoster, chunks -from module.network.RequestFactory import getURL - -def getInfo(urls): - result = [] - for chunk in chunks(urls, 10): - for url in chunk: - src = getURL(url) - if r'<div class="errorMessage mb10">' in src: - result.append((url, 0, 1, url)) - elif r'Page cannot be displayed' in src: - result.append((url, 0, 1, url)) - else: - try: - url_pattern = '<a href="(.+?)" onclick="return Act\(this\, \'dlink\'\, event\)">(.+?)</a>' - file_name = re.search(url_pattern, src).group(0).split(', event)">')[1].split('</a>')[0] - result.append((file_name, 0, 2, url)) - except: - pass - - - # status 1=OFFLINE, 2=OK, 3=UNKNOWN - # result.append((#name,#size,#status,#url)) - yield result - -class FilesMailRu(Hoster): - __name__ = "FilesMailRu" - __type__ = "hoster" - __pattern__ = r"http://files\.mail\.ru/.*" - __version__ = "0.3" - __description__ = """Files.Mail.Ru One-Klick Hoster""" - __author_name__ = ("oZiRiz") - __author_mail__ = ("ich@oziriz.de") - - - def setup(self): - if not self.account: - self.multiDL = False - self.chunkLimit = 1 - - def process(self, pyfile): - self.html = self.load(pyfile.url) - self.url_pattern = '<a href="(.+?)" onclick="return Act\(this\, \'dlink\'\, event\)">(.+?)</a>' - - #marks the file as "offline" when the pattern was found on the html-page''' - if r'<div class="errorMessage mb10">' in self.html: - self.offline() - - elif r'Page cannot be displayed' in self.html: - self.offline() - - #the filename that will be showed in the list (e.g. test.part1.rar)''' - pyfile.name = self.getFileName() - - #prepare and download''' - if not self.account: - self.prepare() - self.download(self.getFileUrl()) - self.myPostProcess() - else: - self.download(self.getFileUrl()) - self.myPostProcess() - - def prepare(self): - '''You have to wait some seconds. Otherwise you will get a 40Byte HTML Page instead of the file you expected''' - self.setWait(10) - self.wait() - return True - - def getFileUrl(self): - '''gives you the URL to the file. Extracted from the Files.mail.ru HTML-page stored in self.html''' - file_url = re.search(self.url_pattern, self.html).group(0).split('<a href="')[1].split('" onclick="return Act')[0] - return file_url - - - def getFileName(self): - '''gives you the Name for each file. Also extracted from the HTML-Page''' - file_name = re.search(self.url_pattern, self.html).group(0).split(', event)">')[1].split('</a>')[0] - return file_name - - def myPostProcess(self): - # searches the file for HTMl-Code. Sometimes the Redirect - # doesn't work (maybe a curl Problem) and you get only a small - # HTML file and the Download is marked as "finished" - # then the download will be restarted. It's only bad for these - # who want download a HTML-File (it's one in a million ;-) ) - # - # The maximum UploadSize allowed on files.mail.ru at the moment is 100MB - # so i set it to check every download because sometimes there are downloads - # that contain the HTML-Text and 60MB ZEROs after that in a xyzfile.part1.rar file - # (Loading 100MB in to ram is not an option) - check = self.checkDownload({"html": "<meta name="}, read_size=50000) - if check == "html": - self.log.info(_("There was HTML Code in the Downloaded File("+ self.pyfile.name +")...redirect error? The Download will be restarted.")) - self.retry() |