summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/FilesMailRu.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster/FilesMailRu.py')
-rw-r--r--module/plugins/hoster/FilesMailRu.py38
1 files changed, 23 insertions, 15 deletions
diff --git a/module/plugins/hoster/FilesMailRu.py b/module/plugins/hoster/FilesMailRu.py
index eda3a1714..7bd099282 100644
--- a/module/plugins/hoster/FilesMailRu.py
+++ b/module/plugins/hoster/FilesMailRu.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
import re
-from module.plugins.Hoster import Hoster
+
from module.network.RequestFactory import getURL
+from module.plugins.Hoster import Hoster
from module.plugins.Plugin import chunks
@@ -10,17 +11,17 @@ 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:
+ html = getURL(url)
+ if r'<div class="errorMessage mb10">' in html:
result.append((url, 0, 1, url))
- elif r'Page cannot be displayed' in src:
+ elif r'Page cannot be displayed' in html:
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]
+ file_name = re.search(url_pattern, html).group(0).split(', event)">')[1].split('</a>')[0]
result.append((file_name, 0, 2, url))
- except:
+ except Exception:
pass
# status 1=OFFLINE, 2=OK, 3=UNKNOWN
@@ -29,17 +30,20 @@ def getInfo(urls):
class FilesMailRu(Hoster):
- __name__ = "FilesMailRu"
- __type__ = "hoster"
- __pattern__ = r'http://(?:www\.)?files\.mail\.ru/.*'
- __version__ = "0.31"
+ __name__ = "FilesMailRu"
+ __type__ = "hoster"
+ __version__ = "0.32"
+
+ __pattern__ = r'http://(?:www\.)?files\.mail\.ru/.+'
+
__description__ = """Files.mail.ru hoster plugin"""
- __author_name__ = "oZiRiz"
- __author_mail__ = "ich@oziriz.de"
+ __license__ = "GPLv3"
+ __authors__ = [("oZiRiz", "ich@oziriz.de")]
+
def setup(self):
- if not self.account:
- self.multiDL = False
+ self.multiDL = bool(self.account)
+
def process(self, pyfile):
self.html = self.load(pyfile.url)
@@ -64,27 +68,31 @@ class FilesMailRu(Hoster):
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"""
return re.search(self.url_pattern, self.html).group(0).split('<a href="')[1].split('" onclick="return Act')[0]
+
def getFileName(self):
"""gives you the Name for each file. Also extracted from the HTML-Page"""
return re.search(self.url_pattern, self.html).group(0).split(', event)">')[1].split('</a>')[0]
+
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