From a1c441101d15c58ea15082a86df2b3552f01106a Mon Sep 17 00:00:00 2001 From: RaNaN Date: Sat, 16 Jul 2011 23:52:17 +0200 Subject: improvements, command line link checker --- module/plugins/hoster/FileserveCom.py | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py index ba319ee2b..6cd842941 100644 --- a/module/plugins/hoster/FileserveCom.py +++ b/module/plugins/hoster/FileserveCom.py @@ -7,6 +7,7 @@ from module.plugins.Hoster import Hoster from module.plugins.ReCaptcha import ReCaptcha from module.network.RequestFactory import getURL +from module.utils import parseFileSize try: from json import loads as json_loads @@ -14,26 +15,17 @@ except ImportError: # pragma: no cover from module.lib.simplejson import loads as json_loads def getInfo(urls): - result = [] - - for url in urls: - # Get html - html = getURL(url) - if re.search(r'

File not available

', html): - result.append((url, 0, 1, url)) - continue + reg = r"(http://(?:www\.)?fileserve\.com/file/.+(?:[\r\n\t]+)?)[\r\n\t ]+(.*?)[\r\n\t ]+(.*?)[\r\n\t ]+(Available|Not available)(?:\ )?(?:)" + url = "http://fileserve.com/link-checker.php" - # Name - name = re.search('

(.*?)

', html).group(1) + #get all at once, shows strange behavior otherwise + html = getURL(url, post={"submit": "Check Urls", "urls": "\n".join(urls)}, decode=True) - # Size - m = re.search(r"(.*?) (KB|MB|GB)", html) - units = float(m.group(1)) - pow = {'KB': 1, 'MB': 2, 'GB': 3}[m.group(2)] - size = int(units * 1024 ** pow) + match = re.findall(reg, html, re.IGNORECASE + re.MULTILINE) - # Return info - result.append((name, size, 2, url)) + result = [] + for url, name, size, status in match: + result.append((name, parseFileSize(size), 1 if status == "Not available" else 2, url)) yield result @@ -42,13 +34,13 @@ class FileserveCom(Hoster): __name__ = "FileserveCom" __type__ = "hoster" __pattern__ = r"http://(www\.)?fileserve\.com/file/[a-zA-Z0-9]+" - __version__ = "0.4" + __version__ = "0.41" __description__ = """Fileserve.Com File Download Hoster""" __author_name__ = ("jeix", "mkaay", "paul king") __author_mail__ = ("jeix@hasnomail.de", "mkaay@mkaay.de", "") FILE_ID_KEY = r"fileserve\.com/file/(?P\w+)" - FILE_CHECK_KEY = r"http://www.fileserve.com/file/(?P\w+).*?(?P.*?).*?(?P.*?) (?P.B).*?(?P.*?)" + FILE_CHECK_KEY = r"http://www.fileserve\.com/file/(?P\w+).*?(?P.*?).*?(?P.*?) (?P.B).*?(?P.*?)" CAPTCHA_KEY_PATTERN = r"var reCAPTCHA_publickey='(?P.*?)';" LONG_WAIT_PATTERN = r"You need to wait (\d+) seconds to start another download" -- cgit v1.2.3