From b7bc4c7a920cb6e768948d8489af40bf36a72810 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 8 Oct 2014 16:04:14 +0200 Subject: [XFileSharingPro] Rename to XFSPHoster --- module/plugins/hoster/XFileSharingPro.py | 361 ------------------------------- 1 file changed, 361 deletions(-) delete mode 100644 module/plugins/hoster/XFileSharingPro.py (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/XFileSharingPro.py b/module/plugins/hoster/XFileSharingPro.py deleted file mode 100644 index d9f311fa1..000000000 --- a/module/plugins/hoster/XFileSharingPro.py +++ /dev/null @@ -1,361 +0,0 @@ -# -*- coding: utf-8 -*- - -import re - -from pycurl import FOLLOWLOCATION, LOW_SPEED_TIME -from random import random -from urllib import unquote -from urlparse import urlparse - -from module.network.RequestFactory import getURL -from module.plugins.internal.CaptchaService import ReCaptcha, SolveMedia -from module.plugins.internal.SimpleHoster import create_getInfo, PluginParseError, replace_patterns, set_cookies, SimpleHoster -from module.utils import html_unescape - - -class XFileSharingPro(SimpleHoster): - """ - Common base for XFileSharingPro hosters like EasybytezCom, CramitIn, FiledinoCom... - Some hosters may work straight away when added to __pattern__ - However, most of them will NOT work because they are either down or running a customized version - """ - __name__ = "XFileSharingPro" - __type__ = "hoster" - __version__ = "0.37" - - __pattern__ = r'^unmatchable$' - - __description__ = """XFileSharingPro base hoster plugin""" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), - ("stickell", "l.stickell@yahoo.it"), - ("Walter Purcaro", "vuolter@gmail.com")] - - - HOSTER_NAME = None - - FILE_URL_REPLACEMENTS = [(r'/embed-(\w{12}).*', r'/\1')] #: support embedded files - - COOKIES = [(HOSTER_NAME, "lang", "english")] - - FILE_INFO_PATTERN = r'Filename:(?P[^<]+)\s*.*?\((?P[^<]+)\)' - FILE_NAME_PATTERN = r'[\d\.\,]+) ?(?P\w+)?\)' - - OFFLINE_PATTERN = r'>\s*\w+ (Not Found|file (was|has been) removed)' - TEMP_OFFLINE_PATTERN = r'>\s*\w+ server (is in )?(maintenance|maintainance)' - - WAIT_PATTERN = r'.*?>(\d+)' - - OVR_LINK_PATTERN = r'

Download Link

\s*]*>([^<]+)' - LINK_PATTERN = None #: final download url pattern - - CAPTCHA_URL_PATTERN = r'(http://[^"\']+?/captchas?/[^"\']+)' - CAPTCHA_DIV_PATTERN = r'>Enter code.*?(.+?)' - RECAPTCHA_PATTERN = None - SOLVEMEDIA_PATTERN = None - - ERROR_PATTERN = r'class=["\']err["\'][^>]*>(.+?)", " ", self.errmsg)) - - if 'wait' in self.errmsg: - wait_time = sum([int(v) * {"hour": 3600, "minute": 60, "second": 1}[u] for v, u in - re.findall(r'(\d+)\s*(hour|minute|second)', self.errmsg)]) - self.wait(wait_time, True) - elif 'captcha' in self.errmsg: - self.invalidCaptcha() - elif 'premium' in self.errmsg and 'require' in self.errmsg: - self.fail("File can be downloaded by premium users only") - elif 'limit' in self.errmsg: - self.wait(1 * 60 * 60, True) - self.retry(25) - elif 'countdown' in self.errmsg or 'Expired' in self.errmsg: - self.retry() - elif 'maintenance' in self.errmsg or 'maintainance' in self.errmsg: - self.tempOffline() - elif 'download files up to' in self.errmsg: - self.fail("File too large for free download") - else: - self.fail(self.errmsg) - - else: - self.errmsg = None - - return self.errmsg - - - def getPostParameters(self): - for _ in xrange(3): - if not self.errmsg: - self.checkErrors() - - if hasattr(self, "FORM_PATTERN"): - action, inputs = self.parseHtmlForm(self.FORM_PATTERN) - else: - action, inputs = self.parseHtmlForm(input_names={"op": re.compile("^download")}) - - if not inputs: - action, inputs = self.parseHtmlForm('F1') - if not inputs: - if self.errmsg: - self.retry() - else: - self.parseError("Form not found") - - self.logDebug(self.HOSTER_NAME, inputs) - - if 'op' in inputs and inputs['op'] in ("download2", "download3"): - if "password" in inputs: - if self.passwords: - inputs['password'] = self.passwords.pop(0) - else: - self.fail("No or invalid passport") - - if not self.premium: - m = re.search(self.WAIT_PATTERN, self.html) - if m: - wait_time = int(m.group(1)) + 1 - self.setWait(wait_time, False) - else: - wait_time = 0 - - self.captcha = self.handleCaptcha(inputs) - - if wait_time: - self.wait() - - self.errmsg = None - return inputs - - else: - inputs['referer'] = self.pyfile.url - - if self.premium: - inputs['method_premium'] = "Premium Download" - if 'method_free' in inputs: - del inputs['method_free'] - else: - inputs['method_free'] = "Free Download" - if 'method_premium' in inputs: - del inputs['method_premium'] - - self.html = self.load(self.pyfile.url, post=inputs, ref=True) - self.errmsg = None - - else: - self.parseError('FORM: %s' % (inputs['op'] if 'op' in inputs else 'UNKNOWN')) - - - def handleCaptcha(self, inputs): - m = re.search(self.CAPTCHA_URL_PATTERN, self.html) - if m: - captcha_url = m.group(1) - inputs['code'] = self.decryptCaptcha(captcha_url) - return 1 - - m = re.search(self.CAPTCHA_DIV_PATTERN, self.html, re.DOTALL) - if m: - captcha_div = m.group(1) - self.logDebug(captcha_div) - numerals = re.findall(r'(\d)', html_unescape(captcha_div)) - inputs['code'] = "".join([a[1] for a in sorted(numerals, key=lambda num: int(num[0]))]) - self.logDebug("CAPTCHA", inputs['code'], numerals) - return 2 - - recaptcha = ReCaptcha(self) - try: - captcha_key = re.search(self.RECAPTCHA_PATTERN, self.html).group(1) - except: - captcha_key = recaptcha.detect_key() - - if captcha_key: - self.logDebug("RECAPTCHA KEY: %s" % captcha_key) - inputs['recaptcha_challenge_field'], inputs['recaptcha_response_field'] = recaptcha.challenge(captcha_key) - return 3 - - solvemedia = SolveMedia(self) - try: - captcha_key = re.search(self.SOLVEMEDIA_PATTERN, self.html).group(1) - except: - captcha_key = solvemedia.detect_key() - - if captcha_key: - inputs['adcopy_challenge'], inputs['adcopy_response'] = solvemedia.challenge(captcha_key) - return 4 - - return 0 - - -getInfo = create_getInfo(XFileSharingPro) -- cgit v1.2.3 From 60320d4addec35b9cbd14a05b6c33fba63d6c620 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 8 Oct 2014 16:14:33 +0200 Subject: Update plugins XFileSharingPro based --- module/plugins/hoster/BillionuploadsCom.py | 6 +++--- module/plugins/hoster/CramitIn.py | 6 +++--- module/plugins/hoster/EasybytezCom.py | 6 +++--- module/plugins/hoster/File4safeCom.py | 6 +++--- module/plugins/hoster/FileParadoxIn.py | 6 +++--- module/plugins/hoster/FileomCom.py | 6 +++--- module/plugins/hoster/FilerioCom.py | 6 +++--- module/plugins/hoster/HugefilesNet.py | 6 +++--- module/plugins/hoster/HundredEightyUploadCom.py | 6 +++--- module/plugins/hoster/LomafileCom.py | 6 +++--- module/plugins/hoster/MovReelCom.py | 6 +++--- module/plugins/hoster/NosuploadCom.py | 6 +++--- module/plugins/hoster/NovafileCom.py | 6 +++--- module/plugins/hoster/RarefileNet.py | 6 +++--- module/plugins/hoster/RyushareCom.py | 6 +++--- module/plugins/hoster/SecureUploadEu.py | 6 +++--- module/plugins/hoster/SendmywayCom.py | 6 +++--- module/plugins/hoster/StreamcloudEu.py | 6 +++--- module/plugins/hoster/TusfilesNet.py | 6 +++--- module/plugins/hoster/UptoboxCom.py | 6 +++--- module/plugins/hoster/VidPlayNet.py | 6 +++--- 21 files changed, 63 insertions(+), 63 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/BillionuploadsCom.py b/module/plugins/hoster/BillionuploadsCom.py index 68bebf0ec..516dec8da 100644 --- a/module/plugins/hoster/BillionuploadsCom.py +++ b/module/plugins/hoster/BillionuploadsCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class BillionuploadsCom(XFileSharingPro): +class BillionuploadsCom(XFSPHoster): __name__ = "BillionuploadsCom" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?billionuploads\.com/\w{12}' diff --git a/module/plugins/hoster/CramitIn.py b/module/plugins/hoster/CramitIn.py index a0a3cf90a..7cc116015 100644 --- a/module/plugins/hoster/CramitIn.py +++ b/module/plugins/hoster/CramitIn.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class CramitIn(XFileSharingPro): +class CramitIn(XFSPHoster): __name__ = "CramitIn" __type__ = "hoster" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'http://(?:www\.)?cramit\.in/\w{12}' diff --git a/module/plugins/hoster/EasybytezCom.py b/module/plugins/hoster/EasybytezCom.py index 47f869b44..5f4717deb 100644 --- a/module/plugins/hoster/EasybytezCom.py +++ b/module/plugins/hoster/EasybytezCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class EasybytezCom(XFileSharingPro): +class EasybytezCom(XFSPHoster): __name__ = "EasybytezCom" __type__ = "hoster" - __version__ = "0.18" + __version__ = "0.19" __pattern__ = r'http://(?:www\.)?easybytez\.com/\w{12}' diff --git a/module/plugins/hoster/File4safeCom.py b/module/plugins/hoster/File4safeCom.py index 41b10b905..c5d69c644 100644 --- a/module/plugins/hoster/File4safeCom.py +++ b/module/plugins/hoster/File4safeCom.py @@ -4,13 +4,13 @@ import re from pycurl import FOLLOWLOCATION -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class File4safeCom(XFileSharingPro): +class File4safeCom(XFSPHoster): __name__ = "File4safeCom" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?file4safe\.com/\w{12}' diff --git a/module/plugins/hoster/FileParadoxIn.py b/module/plugins/hoster/FileParadoxIn.py index 0b01f8fbc..ae7e7a3e5 100644 --- a/module/plugins/hoster/FileParadoxIn.py +++ b/module/plugins/hoster/FileParadoxIn.py @@ -2,13 +2,13 @@ import re -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class FileParadoxIn(XFileSharingPro): +class FileParadoxIn(XFSPHoster): __name__ = "FileParadoxIn" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?fileparadox\.in/\w{12}' diff --git a/module/plugins/hoster/FileomCom.py b/module/plugins/hoster/FileomCom.py index 793bc001e..f839bd080 100644 --- a/module/plugins/hoster/FileomCom.py +++ b/module/plugins/hoster/FileomCom.py @@ -3,13 +3,13 @@ # Test links: # http://fileom.com/gycaytyzdw3g/random.bin.html -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class FileomCom(XFileSharingPro): +class FileomCom(XFSPHoster): __name__ = "FileomCom" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?fileom\.com/\w{12}' diff --git a/module/plugins/hoster/FilerioCom.py b/module/plugins/hoster/FilerioCom.py index 9f19a07a1..e53f7b6d9 100644 --- a/module/plugins/hoster/FilerioCom.py +++ b/module/plugins/hoster/FilerioCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class FilerioCom(XFileSharingPro): +class FilerioCom(XFSPHoster): __name__ = "FilerioCom" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}' diff --git a/module/plugins/hoster/HugefilesNet.py b/module/plugins/hoster/HugefilesNet.py index 74fd53e51..a4b6842d4 100644 --- a/module/plugins/hoster/HugefilesNet.py +++ b/module/plugins/hoster/HugefilesNet.py @@ -3,13 +3,13 @@ # Test links: # http://hugefiles.net/prthf9ya4w6s -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class HugefilesNet(XFileSharingPro): +class HugefilesNet(XFSPHoster): __name__ = "HugefilesNet" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?hugefiles\.net/\w{12}' diff --git a/module/plugins/hoster/HundredEightyUploadCom.py b/module/plugins/hoster/HundredEightyUploadCom.py index 3aceb9003..323916500 100644 --- a/module/plugins/hoster/HundredEightyUploadCom.py +++ b/module/plugins/hoster/HundredEightyUploadCom.py @@ -3,13 +3,13 @@ # Test links: # http://180upload.com/js9qdm6kjnrs -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class HundredEightyUploadCom(XFileSharingPro): +class HundredEightyUploadCom(XFSPHoster): __name__ = "HundredEightyUploadCom" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?180upload\.com/\w{12}' diff --git a/module/plugins/hoster/LomafileCom.py b/module/plugins/hoster/LomafileCom.py index 8184e9393..8a9c4e94b 100644 --- a/module/plugins/hoster/LomafileCom.py +++ b/module/plugins/hoster/LomafileCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class LomafileCom(XFileSharingPro): +class LomafileCom(XFSPHoster): __name__ = "LomafileCom" __type__ = "hoster" - __version__ = "0.3" + __version__ = "0.4" __pattern__ = r'http://lomafile\.com/\w{12}' diff --git a/module/plugins/hoster/MovReelCom.py b/module/plugins/hoster/MovReelCom.py index 682adc48d..4c6bc355c 100644 --- a/module/plugins/hoster/MovReelCom.py +++ b/module/plugins/hoster/MovReelCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class MovReelCom(XFileSharingPro): +class MovReelCom(XFSPHoster): __name__ = "MovReelCom" __type__ = "hoster" - __version__ = "1.21" + __version__ = "1.22" __pattern__ = r'http://(?:www\.)?movreel\.com/\w{12}' diff --git a/module/plugins/hoster/NosuploadCom.py b/module/plugins/hoster/NosuploadCom.py index 050890cde..4d76c93ee 100644 --- a/module/plugins/hoster/NosuploadCom.py +++ b/module/plugins/hoster/NosuploadCom.py @@ -2,13 +2,13 @@ import re -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class NosuploadCom(XFileSharingPro): +class NosuploadCom(XFSPHoster): __name__ = "NosuploadCom" __type__ = "hoster" - __version__ = "0.1" + __version__ = "0.2" __pattern__ = r'http://(?:www\.)?nosupload\.com/\?d=\w{12}' diff --git a/module/plugins/hoster/NovafileCom.py b/module/plugins/hoster/NovafileCom.py index fb75f0470..19873a59f 100644 --- a/module/plugins/hoster/NovafileCom.py +++ b/module/plugins/hoster/NovafileCom.py @@ -4,13 +4,13 @@ # http://novafile.com/vfun4z6o2cit # http://novafile.com/s6zrr5wemuz4 -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class NovafileCom(XFileSharingPro): +class NovafileCom(XFSPHoster): __name__ = "NovafileCom" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?novafile\.com/\w{12}' diff --git a/module/plugins/hoster/RarefileNet.py b/module/plugins/hoster/RarefileNet.py index a51284c19..1c5f66b30 100644 --- a/module/plugins/hoster/RarefileNet.py +++ b/module/plugins/hoster/RarefileNet.py @@ -2,14 +2,14 @@ import re -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo from module.utils import html_unescape -class RarefileNet(XFileSharingPro): +class RarefileNet(XFSPHoster): __name__ = "RarefileNet" __type__ = "hoster" - __version__ = "0.03" + __version__ = "0.04" __pattern__ = r'http://(?:www\.)?rarefile\.net/\w{12}' diff --git a/module/plugins/hoster/RyushareCom.py b/module/plugins/hoster/RyushareCom.py index 04d066018..bb7e84e7f 100644 --- a/module/plugins/hoster/RyushareCom.py +++ b/module/plugins/hoster/RyushareCom.py @@ -5,14 +5,14 @@ import re -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo from module.plugins.internal.CaptchaService import SolveMedia -class RyushareCom(XFileSharingPro): +class RyushareCom(XFSPHoster): __name__ = "RyushareCom" __type__ = "hoster" - __version__ = "0.16" + __version__ = "0.17" __pattern__ = r'http://(?:www\.)?ryushare\.com/\w+' diff --git a/module/plugins/hoster/SecureUploadEu.py b/module/plugins/hoster/SecureUploadEu.py index 9b1d15dc7..240cb7f7a 100644 --- a/module/plugins/hoster/SecureUploadEu.py +++ b/module/plugins/hoster/SecureUploadEu.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class SecureUploadEu(XFileSharingPro): +class SecureUploadEu(XFSPHoster): __name__ = "SecureUploadEu" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?secureupload\.eu/\w{12}' diff --git a/module/plugins/hoster/SendmywayCom.py b/module/plugins/hoster/SendmywayCom.py index 03a1fc769..f74ad8018 100644 --- a/module/plugins/hoster/SendmywayCom.py +++ b/module/plugins/hoster/SendmywayCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class SendmywayCom(XFileSharingPro): +class SendmywayCom(XFSPHoster): __name__ = "SendmywayCom" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?sendmyway\.com/\w{12}' diff --git a/module/plugins/hoster/StreamcloudEu.py b/module/plugins/hoster/StreamcloudEu.py index faf267dc0..e61cb5dd2 100644 --- a/module/plugins/hoster/StreamcloudEu.py +++ b/module/plugins/hoster/StreamcloudEu.py @@ -5,13 +5,13 @@ import re from time import sleep from module.network.HTTPRequest import HTTPRequest -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class StreamcloudEu(XFileSharingPro): +class StreamcloudEu(XFSPHoster): __name__ = "StreamcloudEu" __type__ = "hoster" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'http://(?:www\.)?streamcloud\.eu/\w{12}' diff --git a/module/plugins/hoster/TusfilesNet.py b/module/plugins/hoster/TusfilesNet.py index 5c0e96daa..d7cc5b8be 100644 --- a/module/plugins/hoster/TusfilesNet.py +++ b/module/plugins/hoster/TusfilesNet.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class TusfilesNet(XFileSharingPro): +class TusfilesNet(XFSPHoster): __name__ = "TusfilesNet" __type__ = "hoster" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/\w{12}' diff --git a/module/plugins/hoster/UptoboxCom.py b/module/plugins/hoster/UptoboxCom.py index c4adc2b6d..e18a1e644 100644 --- a/module/plugins/hoster/UptoboxCom.py +++ b/module/plugins/hoster/UptoboxCom.py @@ -2,13 +2,13 @@ import re -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class UptoboxCom(XFileSharingPro): +class UptoboxCom(XFSPHoster): __name__ = "UptoboxCom" __type__ = "hoster" - __version__ = "0.10" + __version__ = "0.11" __pattern__ = r'https?://(?:www\.)?uptobox\.com/\w{12}' diff --git a/module/plugins/hoster/VidPlayNet.py b/module/plugins/hoster/VidPlayNet.py index cff84dfc9..d9c56965b 100644 --- a/module/plugins/hoster/VidPlayNet.py +++ b/module/plugins/hoster/VidPlayNet.py @@ -3,13 +3,13 @@ # Test links: # BigBuckBunny_320x180.mp4 - 61.7 Mb - http://vidplay.net/38lkev0h3jv0 -from module.plugins.hoster.XFileSharingPro import XFileSharingPro, create_getInfo +from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo -class VidPlayNet(XFileSharingPro): +class VidPlayNet(XFSPHoster): __name__ = "VidPlayNet" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}' -- cgit v1.2.3 From 1c4bd7a76450052b28dba609c04c5c4fcad0d014 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 8 Oct 2014 16:34:26 +0200 Subject: [XFileSharingPro] Restore --- module/plugins/hoster/XFileSharingPro.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 module/plugins/hoster/XFileSharingPro.py (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/XFileSharingPro.py b/module/plugins/hoster/XFileSharingPro.py new file mode 100644 index 000000000..9c46e8120 --- /dev/null +++ b/module/plugins/hoster/XFileSharingPro.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- + +import re + +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo + + +class XFileSharingPro(XFSPHoster): + __name__ = "XFileSharingPro" + __type__ = "hoster" + __version__ = "0.38" + + __pattern__ = r'^unmatchable$' + + __description__ = """XFileSharingPro dummy hoster plugin for hook""" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + + + FILE_URL_REPLACEMENTS = [(r'/embed-(\w{12}).*', r'/\1')] #: support embedded files + + + def setup(self): + self.chunkLimit = 1 + self.multiDL = True + + self.__pattern__ = self.core.pluginManager.hosterPlugins[self.__name__]['pattern'] + self.HOSTER_NAME = re.match(self.__pattern__, self.pyfile.url).group(1).lower() + + +getInfo = create_getInfo(XFileSharingPro) -- cgit v1.2.3 From 355c80c5e456f22a4fd3247985710a46a43a79f9 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 8 Oct 2014 19:51:40 +0200 Subject: Fix previous plugins update --- module/plugins/hoster/BillionuploadsCom.py | 4 ++-- module/plugins/hoster/CramitIn.py | 4 ++-- module/plugins/hoster/EasybytezCom.py | 4 ++-- module/plugins/hoster/File4safeCom.py | 4 ++-- module/plugins/hoster/FileParadoxIn.py | 4 ++-- module/plugins/hoster/FileomCom.py | 4 ++-- module/plugins/hoster/FilerioCom.py | 4 ++-- module/plugins/hoster/HugefilesNet.py | 4 ++-- module/plugins/hoster/HundredEightyUploadCom.py | 4 ++-- module/plugins/hoster/LomafileCom.py | 4 ++-- module/plugins/hoster/MovReelCom.py | 4 ++-- module/plugins/hoster/NosuploadCom.py | 4 ++-- module/plugins/hoster/NovafileCom.py | 4 ++-- module/plugins/hoster/RarefileNet.py | 4 ++-- module/plugins/hoster/RyushareCom.py | 4 ++-- module/plugins/hoster/SecureUploadEu.py | 4 ++-- module/plugins/hoster/SendmywayCom.py | 4 ++-- module/plugins/hoster/StreamcloudEu.py | 4 ++-- module/plugins/hoster/TusfilesNet.py | 4 ++-- module/plugins/hoster/UptoboxCom.py | 4 ++-- module/plugins/hoster/VidPlayNet.py | 4 ++-- 21 files changed, 42 insertions(+), 42 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/BillionuploadsCom.py b/module/plugins/hoster/BillionuploadsCom.py index 516dec8da..854dec008 100644 --- a/module/plugins/hoster/BillionuploadsCom.py +++ b/module/plugins/hoster/BillionuploadsCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class BillionuploadsCom(XFSPHoster): __name__ = "BillionuploadsCom" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?billionuploads\.com/\w{12}' diff --git a/module/plugins/hoster/CramitIn.py b/module/plugins/hoster/CramitIn.py index 7cc116015..aaaaebaaf 100644 --- a/module/plugins/hoster/CramitIn.py +++ b/module/plugins/hoster/CramitIn.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class CramitIn(XFSPHoster): __name__ = "CramitIn" __type__ = "hoster" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'http://(?:www\.)?cramit\.in/\w{12}' diff --git a/module/plugins/hoster/EasybytezCom.py b/module/plugins/hoster/EasybytezCom.py index 5f4717deb..3364dadef 100644 --- a/module/plugins/hoster/EasybytezCom.py +++ b/module/plugins/hoster/EasybytezCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class EasybytezCom(XFSPHoster): __name__ = "EasybytezCom" __type__ = "hoster" - __version__ = "0.19" + __version__ = "0.20" __pattern__ = r'http://(?:www\.)?easybytez\.com/\w{12}' diff --git a/module/plugins/hoster/File4safeCom.py b/module/plugins/hoster/File4safeCom.py index c5d69c644..ca116ef64 100644 --- a/module/plugins/hoster/File4safeCom.py +++ b/module/plugins/hoster/File4safeCom.py @@ -4,13 +4,13 @@ import re from pycurl import FOLLOWLOCATION -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class File4safeCom(XFSPHoster): __name__ = "File4safeCom" __type__ = "hoster" - __version__ = "0.03" + __version__ = "0.04" __pattern__ = r'https?://(?:www\.)?file4safe\.com/\w{12}' diff --git a/module/plugins/hoster/FileParadoxIn.py b/module/plugins/hoster/FileParadoxIn.py index ae7e7a3e5..00bec1084 100644 --- a/module/plugins/hoster/FileParadoxIn.py +++ b/module/plugins/hoster/FileParadoxIn.py @@ -2,13 +2,13 @@ import re -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class FileParadoxIn(XFSPHoster): __name__ = "FileParadoxIn" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?fileparadox\.in/\w{12}' diff --git a/module/plugins/hoster/FileomCom.py b/module/plugins/hoster/FileomCom.py index f839bd080..22b0dc985 100644 --- a/module/plugins/hoster/FileomCom.py +++ b/module/plugins/hoster/FileomCom.py @@ -3,13 +3,13 @@ # Test links: # http://fileom.com/gycaytyzdw3g/random.bin.html -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class FileomCom(XFSPHoster): __name__ = "FileomCom" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?fileom\.com/\w{12}' diff --git a/module/plugins/hoster/FilerioCom.py b/module/plugins/hoster/FilerioCom.py index e53f7b6d9..074d98aec 100644 --- a/module/plugins/hoster/FilerioCom.py +++ b/module/plugins/hoster/FilerioCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class FilerioCom(XFSPHoster): __name__ = "FilerioCom" __type__ = "hoster" - __version__ = "0.03" + __version__ = "0.04" __pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}' diff --git a/module/plugins/hoster/HugefilesNet.py b/module/plugins/hoster/HugefilesNet.py index a4b6842d4..e287594a8 100644 --- a/module/plugins/hoster/HugefilesNet.py +++ b/module/plugins/hoster/HugefilesNet.py @@ -3,13 +3,13 @@ # Test links: # http://hugefiles.net/prthf9ya4w6s -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class HugefilesNet(XFSPHoster): __name__ = "HugefilesNet" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?hugefiles\.net/\w{12}' diff --git a/module/plugins/hoster/HundredEightyUploadCom.py b/module/plugins/hoster/HundredEightyUploadCom.py index 323916500..33199fd5c 100644 --- a/module/plugins/hoster/HundredEightyUploadCom.py +++ b/module/plugins/hoster/HundredEightyUploadCom.py @@ -3,13 +3,13 @@ # Test links: # http://180upload.com/js9qdm6kjnrs -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class HundredEightyUploadCom(XFSPHoster): __name__ = "HundredEightyUploadCom" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?180upload\.com/\w{12}' diff --git a/module/plugins/hoster/LomafileCom.py b/module/plugins/hoster/LomafileCom.py index 8a9c4e94b..ebb973cbd 100644 --- a/module/plugins/hoster/LomafileCom.py +++ b/module/plugins/hoster/LomafileCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class LomafileCom(XFSPHoster): __name__ = "LomafileCom" __type__ = "hoster" - __version__ = "0.4" + __version__ = "0.5" __pattern__ = r'http://lomafile\.com/\w{12}' diff --git a/module/plugins/hoster/MovReelCom.py b/module/plugins/hoster/MovReelCom.py index 4c6bc355c..9fd28385c 100644 --- a/module/plugins/hoster/MovReelCom.py +++ b/module/plugins/hoster/MovReelCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class MovReelCom(XFSPHoster): __name__ = "MovReelCom" __type__ = "hoster" - __version__ = "1.22" + __version__ = "1.23" __pattern__ = r'http://(?:www\.)?movreel\.com/\w{12}' diff --git a/module/plugins/hoster/NosuploadCom.py b/module/plugins/hoster/NosuploadCom.py index 4d76c93ee..e756c63f6 100644 --- a/module/plugins/hoster/NosuploadCom.py +++ b/module/plugins/hoster/NosuploadCom.py @@ -2,13 +2,13 @@ import re -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class NosuploadCom(XFSPHoster): __name__ = "NosuploadCom" __type__ = "hoster" - __version__ = "0.2" + __version__ = "0.3" __pattern__ = r'http://(?:www\.)?nosupload\.com/\?d=\w{12}' diff --git a/module/plugins/hoster/NovafileCom.py b/module/plugins/hoster/NovafileCom.py index 19873a59f..958c10411 100644 --- a/module/plugins/hoster/NovafileCom.py +++ b/module/plugins/hoster/NovafileCom.py @@ -4,13 +4,13 @@ # http://novafile.com/vfun4z6o2cit # http://novafile.com/s6zrr5wemuz4 -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class NovafileCom(XFSPHoster): __name__ = "NovafileCom" __type__ = "hoster" - __version__ = "0.03" + __version__ = "0.04" __pattern__ = r'http://(?:www\.)?novafile\.com/\w{12}' diff --git a/module/plugins/hoster/RarefileNet.py b/module/plugins/hoster/RarefileNet.py index 1c5f66b30..fab0f2aaf 100644 --- a/module/plugins/hoster/RarefileNet.py +++ b/module/plugins/hoster/RarefileNet.py @@ -2,14 +2,14 @@ import re -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo from module.utils import html_unescape class RarefileNet(XFSPHoster): __name__ = "RarefileNet" __type__ = "hoster" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'http://(?:www\.)?rarefile\.net/\w{12}' diff --git a/module/plugins/hoster/RyushareCom.py b/module/plugins/hoster/RyushareCom.py index bb7e84e7f..92a7a22c2 100644 --- a/module/plugins/hoster/RyushareCom.py +++ b/module/plugins/hoster/RyushareCom.py @@ -5,14 +5,14 @@ import re -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo from module.plugins.internal.CaptchaService import SolveMedia class RyushareCom(XFSPHoster): __name__ = "RyushareCom" __type__ = "hoster" - __version__ = "0.17" + __version__ = "0.18" __pattern__ = r'http://(?:www\.)?ryushare\.com/\w+' diff --git a/module/plugins/hoster/SecureUploadEu.py b/module/plugins/hoster/SecureUploadEu.py index 240cb7f7a..59dc4d537 100644 --- a/module/plugins/hoster/SecureUploadEu.py +++ b/module/plugins/hoster/SecureUploadEu.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class SecureUploadEu(XFSPHoster): __name__ = "SecureUploadEu" __type__ = "hoster" - __version__ = "0.03" + __version__ = "0.04" __pattern__ = r'https?://(?:www\.)?secureupload\.eu/\w{12}' diff --git a/module/plugins/hoster/SendmywayCom.py b/module/plugins/hoster/SendmywayCom.py index f74ad8018..efb6c34c4 100644 --- a/module/plugins/hoster/SendmywayCom.py +++ b/module/plugins/hoster/SendmywayCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class SendmywayCom(XFSPHoster): __name__ = "SendmywayCom" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?sendmyway\.com/\w{12}' diff --git a/module/plugins/hoster/StreamcloudEu.py b/module/plugins/hoster/StreamcloudEu.py index e61cb5dd2..6adace633 100644 --- a/module/plugins/hoster/StreamcloudEu.py +++ b/module/plugins/hoster/StreamcloudEu.py @@ -5,13 +5,13 @@ import re from time import sleep from module.network.HTTPRequest import HTTPRequest -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class StreamcloudEu(XFSPHoster): __name__ = "StreamcloudEu" __type__ = "hoster" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'http://(?:www\.)?streamcloud\.eu/\w{12}' diff --git a/module/plugins/hoster/TusfilesNet.py b/module/plugins/hoster/TusfilesNet.py index d7cc5b8be..b98dc885b 100644 --- a/module/plugins/hoster/TusfilesNet.py +++ b/module/plugins/hoster/TusfilesNet.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class TusfilesNet(XFSPHoster): __name__ = "TusfilesNet" __type__ = "hoster" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'https?://(?:www\.)?tusfiles\.net/\w{12}' diff --git a/module/plugins/hoster/UptoboxCom.py b/module/plugins/hoster/UptoboxCom.py index e18a1e644..e69058e98 100644 --- a/module/plugins/hoster/UptoboxCom.py +++ b/module/plugins/hoster/UptoboxCom.py @@ -2,13 +2,13 @@ import re -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class UptoboxCom(XFSPHoster): __name__ = "UptoboxCom" __type__ = "hoster" - __version__ = "0.11" + __version__ = "0.12" __pattern__ = r'https?://(?:www\.)?uptobox\.com/\w{12}' diff --git a/module/plugins/hoster/VidPlayNet.py b/module/plugins/hoster/VidPlayNet.py index d9c56965b..51bf66b24 100644 --- a/module/plugins/hoster/VidPlayNet.py +++ b/module/plugins/hoster/VidPlayNet.py @@ -3,13 +3,13 @@ # Test links: # BigBuckBunny_320x180.mp4 - 61.7 Mb - http://vidplay.net/38lkev0h3jv0 -from module.plugins.hoster.XFSPHoster import XFSPHoster, create_getInfo +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class VidPlayNet(XFSPHoster): __name__ = "VidPlayNet" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}' -- cgit v1.2.3 From ae7a7e66981456e5bbe2b54006d79b6f907be7a4 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 8 Oct 2014 20:18:13 +0200 Subject: Add __license__ key attribute to plugins --- module/plugins/hoster/AlldebridCom.py | 1 + module/plugins/hoster/BasePlugin.py | 1 + module/plugins/hoster/BayfilesCom.py | 1 + module/plugins/hoster/BezvadataCz.py | 1 + module/plugins/hoster/BillionuploadsCom.py | 1 + module/plugins/hoster/BitshareCom.py | 1 + module/plugins/hoster/BoltsharingCom.py | 1 + module/plugins/hoster/CatShareNet.py | 1 + module/plugins/hoster/CloudzerNet.py | 1 + module/plugins/hoster/CramitIn.py | 1 + module/plugins/hoster/CrockoCom.py | 1 + module/plugins/hoster/CyberlockerCh.py | 1 + module/plugins/hoster/CzshareCom.py | 1 + module/plugins/hoster/DailymotionCom.py | 1 + module/plugins/hoster/DataHu.py | 1 + module/plugins/hoster/DataportCz.py | 1 + module/plugins/hoster/DateiTo.py | 1 + module/plugins/hoster/DdlstorageCom.py | 1 + module/plugins/hoster/DebridItaliaCom.py | 1 + module/plugins/hoster/DepositfilesCom.py | 1 + module/plugins/hoster/DevhostSt.py | 1 + module/plugins/hoster/DlFreeFr.py | 1 + module/plugins/hoster/DropboxCom.py | 1 + module/plugins/hoster/DuploadOrg.py | 1 + module/plugins/hoster/EasybytezCom.py | 1 + module/plugins/hoster/EdiskCz.py | 1 + module/plugins/hoster/EgoFilesCom.py | 1 + module/plugins/hoster/EpicShareNet.py | 1 + module/plugins/hoster/EuroshareEu.py | 1 + module/plugins/hoster/ExtabitCom.py | 1 + module/plugins/hoster/FastixRu.py | 1 + module/plugins/hoster/FastshareCz.py | 1 + module/plugins/hoster/File4safeCom.py | 1 + module/plugins/hoster/FileApeCom.py | 1 + module/plugins/hoster/FileParadoxIn.py | 1 + module/plugins/hoster/FileStoreTo.py | 1 + module/plugins/hoster/FilebeerInfo.py | 1 + module/plugins/hoster/FilecloudIo.py | 1 + module/plugins/hoster/FilefactoryCom.py | 1 + module/plugins/hoster/FilejungleCom.py | 1 + module/plugins/hoster/FileomCom.py | 1 + module/plugins/hoster/FilepostCom.py | 1 + module/plugins/hoster/FilepupNet.py | 1 + module/plugins/hoster/FilerNet.py | 1 + module/plugins/hoster/FilerioCom.py | 1 + module/plugins/hoster/FilesMailRu.py | 1 + module/plugins/hoster/FileserveCom.py | 1 + module/plugins/hoster/FileshareInUa.py | 1 + module/plugins/hoster/FilezyNet.py | 1 + module/plugins/hoster/FiredriveCom.py | 1 + module/plugins/hoster/FlyFilesNet.py | 1 + module/plugins/hoster/FourSharedCom.py | 1 + module/plugins/hoster/FreakshareCom.py | 1 + module/plugins/hoster/FreeWayMe.py | 1 + module/plugins/hoster/FreevideoCz.py | 1 + module/plugins/hoster/FshareVn.py | 1 + module/plugins/hoster/Ftp.py | 1 + module/plugins/hoster/GamefrontCom.py | 1 + module/plugins/hoster/GigapetaCom.py | 1 + module/plugins/hoster/GooIm.py | 1 + module/plugins/hoster/HellshareCz.py | 1 + module/plugins/hoster/HellspyCz.py | 1 + module/plugins/hoster/HotfileCom.py | 1 + module/plugins/hoster/HugefilesNet.py | 1 + module/plugins/hoster/HundredEightyUploadCom.py | 1 + module/plugins/hoster/IFileWs.py | 1 + module/plugins/hoster/IcyFilesCom.py | 1 + module/plugins/hoster/IfileIt.py | 1 + module/plugins/hoster/IfolderRu.py | 1 + module/plugins/hoster/JumbofilesCom.py | 1 + module/plugins/hoster/Keep2shareCC.py | 1 + module/plugins/hoster/KingfilesNet.py | 1 + module/plugins/hoster/LemUploadsCom.py | 1 + module/plugins/hoster/LetitbitNet.py | 1 + module/plugins/hoster/LinksnappyCom.py | 1 + module/plugins/hoster/LoadTo.py | 1 + module/plugins/hoster/LomafileCom.py | 1 + module/plugins/hoster/LuckyShareNet.py | 1 + module/plugins/hoster/MediafireCom.py | 1 + module/plugins/hoster/MegaDebridEu.py | 1 + module/plugins/hoster/MegaFilesSe.py | 1 + module/plugins/hoster/MegaNz.py | 1 + module/plugins/hoster/MegacrypterCom.py | 1 + module/plugins/hoster/MegareleaseOrg.py | 1 + module/plugins/hoster/MegasharesCom.py | 1 + module/plugins/hoster/MovReelCom.py | 1 + module/plugins/hoster/MultishareCz.py | 1 + module/plugins/hoster/MyfastfileCom.py | 1 + module/plugins/hoster/MyvideoDe.py | 1 + module/plugins/hoster/NarodRu.py | 1 + module/plugins/hoster/NetloadIn.py | 1 + module/plugins/hoster/NosuploadCom.py | 1 + module/plugins/hoster/NovafileCom.py | 1 + module/plugins/hoster/NowDownloadEu.py | 1 + module/plugins/hoster/OboomCom.py | 1 + module/plugins/hoster/OneFichierCom.py | 1 + module/plugins/hoster/OverLoadMe.py | 1 + module/plugins/hoster/PandaPlaNet.py | 1 + module/plugins/hoster/PornhostCom.py | 1 + module/plugins/hoster/PornhubCom.py | 1 + module/plugins/hoster/PotloadCom.py | 1 + module/plugins/hoster/PremiumTo.py | 1 + module/plugins/hoster/PremiumizeMe.py | 1 + module/plugins/hoster/PromptfileCom.py | 1 + module/plugins/hoster/QuickshareCz.py | 1 + module/plugins/hoster/RPNetBiz.py | 1 + module/plugins/hoster/RapidgatorNet.py | 1 + module/plugins/hoster/RapidshareCom.py | 1 + module/plugins/hoster/RarefileNet.py | 1 + module/plugins/hoster/RealdebridCom.py | 1 + module/plugins/hoster/RedtubeCom.py | 1 + module/plugins/hoster/RehostTo.py | 1 + module/plugins/hoster/RemixshareCom.py | 1 + module/plugins/hoster/RgHostNet.py | 1 + module/plugins/hoster/RyushareCom.py | 1 + module/plugins/hoster/SecureUploadEu.py | 1 + module/plugins/hoster/SendmywayCom.py | 1 + module/plugins/hoster/SendspaceCom.py | 1 + module/plugins/hoster/Share4webCom.py | 1 + module/plugins/hoster/Share76Com.py | 1 + module/plugins/hoster/ShareFilesCo.py | 1 + module/plugins/hoster/ShareRapidCom.py | 1 + module/plugins/hoster/SharebeesCom.py | 1 + module/plugins/hoster/ShareonlineBiz.py | 1 + module/plugins/hoster/ShareplaceCom.py | 1 + module/plugins/hoster/ShragleCom.py | 1 + module/plugins/hoster/SimplyPremiumCom.py | 1 + module/plugins/hoster/SimplydebridCom.py | 1 + module/plugins/hoster/SockshareCom.py | 1 + module/plugins/hoster/SoundcloudCom.py | 1 + module/plugins/hoster/SpeedLoadOrg.py | 1 + module/plugins/hoster/SpeedfileCz.py | 1 + module/plugins/hoster/SpeedyshareCom.py | 1 + module/plugins/hoster/StreamCz.py | 1 + module/plugins/hoster/StreamcloudEu.py | 1 + module/plugins/hoster/TurbobitNet.py | 1 + module/plugins/hoster/TurbouploadCom.py | 1 + module/plugins/hoster/TusfilesNet.py | 1 + module/plugins/hoster/TwoSharedCom.py | 1 + module/plugins/hoster/UlozTo.py | 1 + module/plugins/hoster/UloziskoSk.py | 1 + module/plugins/hoster/UnibytesCom.py | 1 + module/plugins/hoster/UnrestrictLi.py | 1 + module/plugins/hoster/UploadStationCom.py | 1 + module/plugins/hoster/UploadedTo.py | 1 + module/plugins/hoster/UploadheroCom.py | 1 + module/plugins/hoster/UploadingCom.py | 1 + module/plugins/hoster/UpstoreNet.py | 1 + module/plugins/hoster/UptoboxCom.py | 1 + module/plugins/hoster/VeehdCom.py | 1 + module/plugins/hoster/VeohCom.py | 1 + module/plugins/hoster/VidPlayNet.py | 1 + module/plugins/hoster/VimeoCom.py | 1 + module/plugins/hoster/Vipleech4uCom.py | 1 + module/plugins/hoster/WarserverCz.py | 1 + module/plugins/hoster/WebshareCz.py | 1 + module/plugins/hoster/WrzucTo.py | 1 + module/plugins/hoster/WuploadCom.py | 1 + module/plugins/hoster/X7To.py | 1 + module/plugins/hoster/XFileSharingPro.py | 1 + module/plugins/hoster/XHamsterCom.py | 1 + module/plugins/hoster/XVideosCom.py | 1 + module/plugins/hoster/Xdcc.py | 1 + module/plugins/hoster/YibaishiwuCom.py | 1 + module/plugins/hoster/YoupornCom.py | 1 + module/plugins/hoster/YourfilesTo.py | 1 + module/plugins/hoster/YoutubeCom.py | 1 + module/plugins/hoster/ZDF.py | 1 + module/plugins/hoster/ZeveraCom.py | 1 + module/plugins/hoster/ZippyshareCom.py | 1 + 170 files changed, 170 insertions(+) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 49aed9330..74509110c 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -18,6 +18,7 @@ class AlldebridCom(Hoster): __pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*' __description__ = """Alldebrid.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Andy Voigt", "spamsales@online.de")] diff --git a/module/plugins/hoster/BasePlugin.py b/module/plugins/hoster/BasePlugin.py index 41569db1d..ffc1a66af 100644 --- a/module/plugins/hoster/BasePlugin.py +++ b/module/plugins/hoster/BasePlugin.py @@ -18,6 +18,7 @@ class BasePlugin(Hoster): __pattern__ = r'^unmatchable$' __description__ = """Base Plugin when any other didnt fit""" + __license__ = "GPLv3" __authors__ = [("RaNaN", "RaNaN@pyload.org")] diff --git a/module/plugins/hoster/BayfilesCom.py b/module/plugins/hoster/BayfilesCom.py index 4c6308b10..3d4306df5 100644 --- a/module/plugins/hoster/BayfilesCom.py +++ b/module/plugins/hoster/BayfilesCom.py @@ -16,6 +16,7 @@ class BayfilesCom(SimpleHoster): __pattern__ = r'https?://(?:www\.)?bayfiles\.(com|net)/file/(?P[a-zA-Z0-9]+/[a-zA-Z0-9]+/[^/]+)' __description__ = """Bayfiles.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/BezvadataCz.py b/module/plugins/hoster/BezvadataCz.py index 7c095cbd7..8c4e17630 100644 --- a/module/plugins/hoster/BezvadataCz.py +++ b/module/plugins/hoster/BezvadataCz.py @@ -13,6 +13,7 @@ class BezvadataCz(SimpleHoster): __pattern__ = r'http://(?:www\.)?bezvadata.cz/stahnout/.*' __description__ = """BezvaData.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/BillionuploadsCom.py b/module/plugins/hoster/BillionuploadsCom.py index 854dec008..3065ef6cd 100644 --- a/module/plugins/hoster/BillionuploadsCom.py +++ b/module/plugins/hoster/BillionuploadsCom.py @@ -11,6 +11,7 @@ class BillionuploadsCom(XFSPHoster): __pattern__ = r'http://(?:www\.)?billionuploads\.com/\w{12}' __description__ = """Billionuploads.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/BitshareCom.py b/module/plugins/hoster/BitshareCom.py index a9d9e78cb..2a0b0fa9b 100644 --- a/module/plugins/hoster/BitshareCom.py +++ b/module/plugins/hoster/BitshareCom.py @@ -16,6 +16,7 @@ class BitshareCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?bitshare\.com/(files/(?P[a-zA-Z0-9]+)(/(?P.*?)\.html)?|\?f=(?P[a-zA-Z0-9]+))' __description__ = """Bitshare.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Paul King", None), ("fragonib", "fragonib[AT]yahoo[DOT]es")] diff --git a/module/plugins/hoster/BoltsharingCom.py b/module/plugins/hoster/BoltsharingCom.py index a7d6b525d..8862e38a2 100644 --- a/module/plugins/hoster/BoltsharingCom.py +++ b/module/plugins/hoster/BoltsharingCom.py @@ -11,6 +11,7 @@ class BoltsharingCom(DeadHoster): __pattern__ = r'http://(?:www\.)?boltsharing.com/\w{12}' __description__ = """Boltsharing.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/CatShareNet.py b/module/plugins/hoster/CatShareNet.py index c0c934211..c50632ac3 100644 --- a/module/plugins/hoster/CatShareNet.py +++ b/module/plugins/hoster/CatShareNet.py @@ -14,6 +14,7 @@ class CatShareNet(SimpleHoster): __pattern__ = r'http://(?:www\.)?catshare\.net/\w{16}' __description__ = """CatShare.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("z00nx", "z00nx0@gmail.com"), ("prOq", None), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/CloudzerNet.py b/module/plugins/hoster/CloudzerNet.py index c7e49e9fc..915437919 100644 --- a/module/plugins/hoster/CloudzerNet.py +++ b/module/plugins/hoster/CloudzerNet.py @@ -11,6 +11,7 @@ class CloudzerNet(DeadHoster): __pattern__ = r'https?://(?:www\.)?(cloudzer\.net/file/|clz\.to/(file/)?)\w+' __description__ = """Cloudzer.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("gs", "I-_-I-_-I@web.de"), ("z00nx", "z00nx0@gmail.com"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/CramitIn.py b/module/plugins/hoster/CramitIn.py index aaaaebaaf..10a9d68c2 100644 --- a/module/plugins/hoster/CramitIn.py +++ b/module/plugins/hoster/CramitIn.py @@ -11,6 +11,7 @@ class CramitIn(XFSPHoster): __pattern__ = r'http://(?:www\.)?cramit\.in/\w{12}' __description__ = """Cramit.in hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/CrockoCom.py b/module/plugins/hoster/CrockoCom.py index f5b883143..bf69dea53 100644 --- a/module/plugins/hoster/CrockoCom.py +++ b/module/plugins/hoster/CrockoCom.py @@ -14,6 +14,7 @@ class CrockoCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?(crocko|easy-share).com/\w+' __description__ = """Crocko hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/CyberlockerCh.py b/module/plugins/hoster/CyberlockerCh.py index 89b3b9f1e..0866d604f 100644 --- a/module/plugins/hoster/CyberlockerCh.py +++ b/module/plugins/hoster/CyberlockerCh.py @@ -11,6 +11,7 @@ class CyberlockerCh(DeadHoster): __pattern__ = r'http://(?:www\.)?cyberlocker\.ch/\w+' __description__ = """Cyberlocker.ch hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index fd06f246b..9e965b972 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -17,6 +17,7 @@ class CzshareCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download.php\?).*' __description__ = """CZshare.com hoster plugin, now Sdilej.cz""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index d8e56f761..726663ca6 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -47,6 +47,7 @@ class DailymotionCom(Hoster): __config__ = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] __description__ = """Dailymotion.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/DataHu.py b/module/plugins/hoster/DataHu.py index c90b994c7..691c4ec37 100644 --- a/module/plugins/hoster/DataHu.py +++ b/module/plugins/hoster/DataHu.py @@ -16,6 +16,7 @@ class DataHu(SimpleHoster): __pattern__ = r'http://(?:www\.)?data.hu/get/\w+' __description__ = """Data.hu hoster plugin""" + __license__ = "GPLv3" __authors__ = [("crash", None), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/DataportCz.py b/module/plugins/hoster/DataportCz.py index 5cf022d3f..2d4029734 100644 --- a/module/plugins/hoster/DataportCz.py +++ b/module/plugins/hoster/DataportCz.py @@ -11,6 +11,7 @@ class DataportCz(SimpleHoster): __pattern__ = r'http://(?:www\.)?dataport.cz/file/(.*)' __description__ = """Dataport.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/DateiTo.py b/module/plugins/hoster/DateiTo.py index 79de07089..400fa416f 100644 --- a/module/plugins/hoster/DateiTo.py +++ b/module/plugins/hoster/DateiTo.py @@ -14,6 +14,7 @@ class DateiTo(SimpleHoster): __pattern__ = r'http://(?:www\.)?datei\.to/datei/(?P\w+)\.html' __description__ = """Datei.to hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/DdlstorageCom.py b/module/plugins/hoster/DdlstorageCom.py index 14accd4cb..68c71715e 100644 --- a/module/plugins/hoster/DdlstorageCom.py +++ b/module/plugins/hoster/DdlstorageCom.py @@ -11,6 +11,7 @@ class DdlstorageCom(DeadHoster): __pattern__ = r'https?://(?:www\.)?ddlstorage\.com/\w+' __description__ = """DDLStorage.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/DebridItaliaCom.py b/module/plugins/hoster/DebridItaliaCom.py index 04dd910f6..4e961fa9f 100644 --- a/module/plugins/hoster/DebridItaliaCom.py +++ b/module/plugins/hoster/DebridItaliaCom.py @@ -13,6 +13,7 @@ class DebridItaliaCom(Hoster): __pattern__ = r'https?://(?:[^/]*\.)?debriditalia\.com' __description__ = """Debriditalia.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index b3330ec80..54ceabb6c 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -16,6 +16,7 @@ class DepositfilesCom(SimpleHoster): __pattern__ = r'https?://(?:www\.)?(depositfiles\.com|dfiles\.(eu|ru))(/\w{1,3})?/files/(?P\w+)' __description__ = """Depositfiles.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org"), ("zoidberg", "zoidberg@mujmail.cz"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/DevhostSt.py b/module/plugins/hoster/DevhostSt.py index d4b227ea1..07a94f7ec 100644 --- a/module/plugins/hoster/DevhostSt.py +++ b/module/plugins/hoster/DevhostSt.py @@ -16,6 +16,7 @@ class DevhostSt(SimpleHoster): __pattern__ = r'http://(?:www\.)?d-h\.st/(?!users/)\w{3}' __description__ = """d-h.st hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] diff --git a/module/plugins/hoster/DlFreeFr.py b/module/plugins/hoster/DlFreeFr.py index 3ce8423a6..1938d112e 100644 --- a/module/plugins/hoster/DlFreeFr.py +++ b/module/plugins/hoster/DlFreeFr.py @@ -117,6 +117,7 @@ class DlFreeFr(SimpleHoster): __pattern__ = r'http://(?:www\.)?dl\.free\.fr/([a-zA-Z0-9]+|getfile\.pl\?file=/[a-zA-Z0-9]+)' __description__ = """Dl.free.fr hoster plugin""" + __license__ = "GPLv3" __authors__ = [("the-razer", "daniel_ AT gmx DOT net"), ("zoidberg", "zoidberg@mujmail.cz"), ("Toilal", "toilal.dev@gmail.com")] diff --git a/module/plugins/hoster/DropboxCom.py b/module/plugins/hoster/DropboxCom.py index 58a0e44bd..f664e3726 100644 --- a/module/plugins/hoster/DropboxCom.py +++ b/module/plugins/hoster/DropboxCom.py @@ -13,6 +13,7 @@ class DropboxCom(SimpleHoster): __pattern__ = r'https?://(?:www\.)?dropbox\.com/.+' __description__ = """Dropbox.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] diff --git a/module/plugins/hoster/DuploadOrg.py b/module/plugins/hoster/DuploadOrg.py index 02df654c2..a62677eb5 100644 --- a/module/plugins/hoster/DuploadOrg.py +++ b/module/plugins/hoster/DuploadOrg.py @@ -11,6 +11,7 @@ class DuploadOrg(DeadHoster): __pattern__ = r'http://(?:www\.)?dupload\.org/\w{12}' __description__ = """Dupload.grg hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/EasybytezCom.py b/module/plugins/hoster/EasybytezCom.py index 3364dadef..1f5682310 100644 --- a/module/plugins/hoster/EasybytezCom.py +++ b/module/plugins/hoster/EasybytezCom.py @@ -11,6 +11,7 @@ class EasybytezCom(XFSPHoster): __pattern__ = r'http://(?:www\.)?easybytez\.com/\w{12}' __description__ = """Easybytez.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/EdiskCz.py b/module/plugins/hoster/EdiskCz.py index 2c65436e6..4855247a1 100644 --- a/module/plugins/hoster/EdiskCz.py +++ b/module/plugins/hoster/EdiskCz.py @@ -13,6 +13,7 @@ class EdiskCz(SimpleHoster): __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")] diff --git a/module/plugins/hoster/EgoFilesCom.py b/module/plugins/hoster/EgoFilesCom.py index 35cdd17b3..835d7994a 100644 --- a/module/plugins/hoster/EgoFilesCom.py +++ b/module/plugins/hoster/EgoFilesCom.py @@ -11,6 +11,7 @@ class EgoFilesCom(DeadHoster): __pattern__ = r'https?://(?:www\.)?egofiles\.com/\w+' __description__ = """Egofiles.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/EpicShareNet.py b/module/plugins/hoster/EpicShareNet.py index f0fe766f5..8380204bb 100644 --- a/module/plugins/hoster/EpicShareNet.py +++ b/module/plugins/hoster/EpicShareNet.py @@ -11,6 +11,7 @@ class EpicShareNet(DeadHoster): __pattern__ = r'https?://(?:www\.)?epicshare\.net/\w{12}' __description__ = """EpicShare.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] diff --git a/module/plugins/hoster/EuroshareEu.py b/module/plugins/hoster/EuroshareEu.py index 85f254840..c4811de24 100644 --- a/module/plugins/hoster/EuroshareEu.py +++ b/module/plugins/hoster/EuroshareEu.py @@ -13,6 +13,7 @@ class EuroshareEu(SimpleHoster): __pattern__ = r'http://(?:www\.)?euroshare.(eu|sk|cz|hu|pl)/file/.*' __description__ = """Euroshare.eu hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/ExtabitCom.py b/module/plugins/hoster/ExtabitCom.py index 64538f65f..808ff712c 100644 --- a/module/plugins/hoster/ExtabitCom.py +++ b/module/plugins/hoster/ExtabitCom.py @@ -17,6 +17,7 @@ class ExtabitCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?extabit\.com/(file|go|fid)/(?P\w+)' __description__ = """Extabit.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/FastixRu.py b/module/plugins/hoster/FastixRu.py index 87b5234c5..ca22638f1 100644 --- a/module/plugins/hoster/FastixRu.py +++ b/module/plugins/hoster/FastixRu.py @@ -17,6 +17,7 @@ class FastixRu(Hoster): __pattern__ = r'http://(?:www\.)?fastix\.(ru|it)/file/(?P[a-zA-Z0-9]{24})' __description__ = """Fastix hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Massimo Rosamilia", "max@spiritix.eu")] diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py index 58fc16946..db85ae0ed 100644 --- a/module/plugins/hoster/FastshareCz.py +++ b/module/plugins/hoster/FastshareCz.py @@ -18,6 +18,7 @@ class FastshareCz(SimpleHoster): __pattern__ = r'http://(?:www\.)?fastshare\.cz/\d+/.+' __description__ = """FastShare.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("stickell", "l.stickell@yahoo.it"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/File4safeCom.py b/module/plugins/hoster/File4safeCom.py index ca116ef64..e5927dd69 100644 --- a/module/plugins/hoster/File4safeCom.py +++ b/module/plugins/hoster/File4safeCom.py @@ -15,6 +15,7 @@ class File4safeCom(XFSPHoster): __pattern__ = r'https?://(?:www\.)?file4safe\.com/\w{12}' __description__ = """File4safe.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/FileApeCom.py b/module/plugins/hoster/FileApeCom.py index 0cb7ca7f5..a68ab9305 100644 --- a/module/plugins/hoster/FileApeCom.py +++ b/module/plugins/hoster/FileApeCom.py @@ -11,6 +11,7 @@ class FileApeCom(DeadHoster): __pattern__ = r'http://(?:www\.)?fileape\.com/(index\.php\?act=download\&id=|dl/)\w+' __description__ = """FileApe.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("espes", None)] diff --git a/module/plugins/hoster/FileParadoxIn.py b/module/plugins/hoster/FileParadoxIn.py index 00bec1084..e72399cfe 100644 --- a/module/plugins/hoster/FileParadoxIn.py +++ b/module/plugins/hoster/FileParadoxIn.py @@ -13,6 +13,7 @@ class FileParadoxIn(XFSPHoster): __pattern__ = r'https?://(?:www\.)?fileparadox\.in/\w{12}' __description__ = """FileParadox.in hoster plugin""" + __license__ = "GPLv3" __authors__ = [("RazorWing", "muppetuk1@hotmail.com")] diff --git a/module/plugins/hoster/FileStoreTo.py b/module/plugins/hoster/FileStoreTo.py index 6db7322f9..4333f800b 100644 --- a/module/plugins/hoster/FileStoreTo.py +++ b/module/plugins/hoster/FileStoreTo.py @@ -13,6 +13,7 @@ class FileStoreTo(SimpleHoster): __pattern__ = r'http://(?:www\.)?filestore\.to/\?d=(?P\w+)' __description__ = """FileStore.to hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/FilebeerInfo.py b/module/plugins/hoster/FilebeerInfo.py index aaecb7654..05b7bb2d2 100644 --- a/module/plugins/hoster/FilebeerInfo.py +++ b/module/plugins/hoster/FilebeerInfo.py @@ -11,6 +11,7 @@ class FilebeerInfo(DeadHoster): __pattern__ = r'http://(?:www\.)?filebeer\.info/(?!\d*~f)(?P\w+).*' __description__ = """Filebeer.info plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/FilecloudIo.py b/module/plugins/hoster/FilecloudIo.py index dd53422b4..a3cc47bf0 100644 --- a/module/plugins/hoster/FilecloudIo.py +++ b/module/plugins/hoster/FilecloudIo.py @@ -15,6 +15,7 @@ class FilecloudIo(SimpleHoster): __pattern__ = r'http://(?:www\.)?(?:filecloud\.io|ifile\.it|mihd\.net)/(?P\w+).*' __description__ = """Filecloud.io hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py index 9cddd4eef..a9fbdaff1 100644 --- a/module/plugins/hoster/FilefactoryCom.py +++ b/module/plugins/hoster/FilefactoryCom.py @@ -25,6 +25,7 @@ class FilefactoryCom(SimpleHoster): __pattern__ = r'https?://(?:www\.)?filefactory\.com/file/(?P[a-zA-Z0-9]+)' __description__ = """Filefactory.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/FilejungleCom.py b/module/plugins/hoster/FilejungleCom.py index c5c61ea3c..aa7896db4 100644 --- a/module/plugins/hoster/FilejungleCom.py +++ b/module/plugins/hoster/FilejungleCom.py @@ -12,6 +12,7 @@ class FilejungleCom(FileserveCom): __pattern__ = r'http://(?:www\.)?filejungle\.com/f/(?P[^/]+).*' __description__ = """Filejungle.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/FileomCom.py b/module/plugins/hoster/FileomCom.py index 22b0dc985..ec767c1e8 100644 --- a/module/plugins/hoster/FileomCom.py +++ b/module/plugins/hoster/FileomCom.py @@ -14,6 +14,7 @@ class FileomCom(XFSPHoster): __pattern__ = r'https?://(?:www\.)?fileom\.com/\w{12}' __description__ = """Fileom.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/FilepostCom.py b/module/plugins/hoster/FilepostCom.py index 9c33a79ef..11afb4afb 100644 --- a/module/plugins/hoster/FilepostCom.py +++ b/module/plugins/hoster/FilepostCom.py @@ -17,6 +17,7 @@ class FilepostCom(SimpleHoster): __pattern__ = r'https?://(?:www\.)?(?:filepost\.com/files|fp.io)/([^/]+).*' __description__ = """Filepost.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/FilepupNet.py b/module/plugins/hoster/FilepupNet.py index 12b2f7798..8866fe240 100644 --- a/module/plugins/hoster/FilepupNet.py +++ b/module/plugins/hoster/FilepupNet.py @@ -17,6 +17,7 @@ class FilepupNet(SimpleHoster): __pattern__ = r'http://(?:www\.)?filepup\.net/files/\w+' __description__ = """Filepup.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py index fedf76072..31bb7082a 100644 --- a/module/plugins/hoster/FilerNet.py +++ b/module/plugins/hoster/FilerNet.py @@ -21,6 +21,7 @@ class FilerNet(SimpleHoster): __pattern__ = r'https?://(?:www\.)?filer\.net/get/(\w+)' __description__ = """Filer.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/FilerioCom.py b/module/plugins/hoster/FilerioCom.py index 074d98aec..350694646 100644 --- a/module/plugins/hoster/FilerioCom.py +++ b/module/plugins/hoster/FilerioCom.py @@ -11,6 +11,7 @@ class FilerioCom(XFSPHoster): __pattern__ = r'http://(?:www\.)?(filerio\.(in|com)|filekeen\.com)/\w{12}' __description__ = """FileRio.in hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/FilesMailRu.py b/module/plugins/hoster/FilesMailRu.py index d3ec8f908..2889e0565 100644 --- a/module/plugins/hoster/FilesMailRu.py +++ b/module/plugins/hoster/FilesMailRu.py @@ -37,6 +37,7 @@ class FilesMailRu(Hoster): __pattern__ = r'http://(?:www\.)?files\.mail\.ru/.*' __description__ = """Files.mail.ru hoster plugin""" + __license__ = "GPLv3" __authors__ = [("oZiRiz", "ich@oziriz.de")] diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py index bc1a52377..ff7d4f608 100644 --- a/module/plugins/hoster/FileserveCom.py +++ b/module/plugins/hoster/FileserveCom.py @@ -38,6 +38,7 @@ class FileserveCom(Hoster): __pattern__ = r'http://(?:www\.)?fileserve\.com/file/(?P[^/]+).*' __description__ = """Fileserve.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de"), ("mkaay", "mkaay@mkaay.de"), ("Paul King", None), diff --git a/module/plugins/hoster/FileshareInUa.py b/module/plugins/hoster/FileshareInUa.py index c6ed6a95c..d6ccc9e3e 100644 --- a/module/plugins/hoster/FileshareInUa.py +++ b/module/plugins/hoster/FileshareInUa.py @@ -15,6 +15,7 @@ class FileshareInUa(Hoster): __pattern__ = r'http://(?:www\.)?fileshare.in.ua/[A-Za-z0-9]+' __description__ = """Fileshare.in.ua hoster plugin""" + __license__ = "GPLv3" __authors__ = [("fwannmacher", "felipe@warhammerproject.com")] diff --git a/module/plugins/hoster/FilezyNet.py b/module/plugins/hoster/FilezyNet.py index 2e4146529..1e76a7026 100644 --- a/module/plugins/hoster/FilezyNet.py +++ b/module/plugins/hoster/FilezyNet.py @@ -11,6 +11,7 @@ class FilezyNet(DeadHoster): __pattern__ = r'http://(?:www\.)?filezy\.net/\w{12}' __description__ = """Filezy.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [] diff --git a/module/plugins/hoster/FiredriveCom.py b/module/plugins/hoster/FiredriveCom.py index 95dd55caa..b68868a66 100644 --- a/module/plugins/hoster/FiredriveCom.py +++ b/module/plugins/hoster/FiredriveCom.py @@ -13,6 +13,7 @@ class FiredriveCom(SimpleHoster): __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/(mobile/)?(file|embed)/(?P\w+)' __description__ = """Firedrive.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/FlyFilesNet.py b/module/plugins/hoster/FlyFilesNet.py index 126b3a1c6..6aa5ecf28 100644 --- a/module/plugins/hoster/FlyFilesNet.py +++ b/module/plugins/hoster/FlyFilesNet.py @@ -16,6 +16,7 @@ class FlyFilesNet(SimpleHoster): __pattern__ = r'http://(?:www\.)?flyfiles\.net/.*' __description__ = """FlyFiles.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [] SESSION_PATTERN = r'flyfiles\.net/(.*)/.*' diff --git a/module/plugins/hoster/FourSharedCom.py b/module/plugins/hoster/FourSharedCom.py index 960a772ef..596173b88 100644 --- a/module/plugins/hoster/FourSharedCom.py +++ b/module/plugins/hoster/FourSharedCom.py @@ -13,6 +13,7 @@ class FourSharedCom(SimpleHoster): __pattern__ = r'https?://(?:www\.)?4shared(\-china)?\.com/(account/)?(download|get|file|document|photo|video|audio|mp3|office|rar|zip|archive|music)/.+?/.*' __description__ = """4Shared.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de"), ("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/FreakshareCom.py b/module/plugins/hoster/FreakshareCom.py index 51c1b5907..808ca1ab0 100644 --- a/module/plugins/hoster/FreakshareCom.py +++ b/module/plugins/hoster/FreakshareCom.py @@ -15,6 +15,7 @@ class FreakshareCom(Hoster): __pattern__ = r'http://(?:www\.)?freakshare\.(net|com)/files/\S*?/' __description__ = """Freakshare.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("sitacuisses", "sitacuisses@yahoo.de"), ("spoob", "spoob@pyload.org"), ("mkaay", "mkaay@mkaay.de"), diff --git a/module/plugins/hoster/FreeWayMe.py b/module/plugins/hoster/FreeWayMe.py index 7decbc646..17f1a5768 100644 --- a/module/plugins/hoster/FreeWayMe.py +++ b/module/plugins/hoster/FreeWayMe.py @@ -11,6 +11,7 @@ class FreeWayMe(Hoster): __pattern__ = r'https://(?:www\.)?free-way.me/.*' __description__ = """FreeWayMe hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Nicolas Giese", "james@free-way.me")] diff --git a/module/plugins/hoster/FreevideoCz.py b/module/plugins/hoster/FreevideoCz.py index d686928b9..217db19c3 100644 --- a/module/plugins/hoster/FreevideoCz.py +++ b/module/plugins/hoster/FreevideoCz.py @@ -11,6 +11,7 @@ class FreevideoCz(DeadHoster): __pattern__ = r'http://(?:www\.)?freevideo\.cz/vase-videa/.+' __description__ = """Freevideo.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py index a90724bcd..500d4648a 100644 --- a/module/plugins/hoster/FshareVn.py +++ b/module/plugins/hoster/FshareVn.py @@ -32,6 +32,7 @@ class FshareVn(SimpleHoster): __pattern__ = r'http://(?:www\.)?fshare.vn/file/.*' __description__ = """FshareVn hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py index 02c98c7b6..c880302f4 100644 --- a/module/plugins/hoster/Ftp.py +++ b/module/plugins/hoster/Ftp.py @@ -15,6 +15,7 @@ class Ftp(Hoster): __version__ = "0.42" __pattern__ = r'(ftps?|sftp)://(.*?:.*?@)?.*?/.*' # ftp://user:password@ftp.server.org/path/to/file __description__ = """Download from ftp directory""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.com"), ("mkaay", "mkaay@mkaay.de"), ("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/GamefrontCom.py b/module/plugins/hoster/GamefrontCom.py index 9acd12060..da16b0eb5 100644 --- a/module/plugins/hoster/GamefrontCom.py +++ b/module/plugins/hoster/GamefrontCom.py @@ -15,6 +15,7 @@ class GamefrontCom(Hoster): __pattern__ = r'http://(?:www\.)?gamefront.com/files/[A-Za-z0-9]+' __description__ = """Gamefront.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("fwannmacher", "felipe@warhammerproject.com")] diff --git a/module/plugins/hoster/GigapetaCom.py b/module/plugins/hoster/GigapetaCom.py index ee1240ea7..efec11079 100644 --- a/module/plugins/hoster/GigapetaCom.py +++ b/module/plugins/hoster/GigapetaCom.py @@ -16,6 +16,7 @@ class GigapetaCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?gigapeta\.com/dl/\w+' __description__ = """GigaPeta.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/GooIm.py b/module/plugins/hoster/GooIm.py index c30bd3280..d27b38f1f 100644 --- a/module/plugins/hoster/GooIm.py +++ b/module/plugins/hoster/GooIm.py @@ -16,6 +16,7 @@ class GooIm(SimpleHoster): __pattern__ = r'https?://(?:www\.)?goo\.im/.+' __description__ = """Goo.im hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] diff --git a/module/plugins/hoster/HellshareCz.py b/module/plugins/hoster/HellshareCz.py index 28df168c2..0661ea70c 100644 --- a/module/plugins/hoster/HellshareCz.py +++ b/module/plugins/hoster/HellshareCz.py @@ -13,6 +13,7 @@ class HellshareCz(SimpleHoster): __pattern__ = r'(http://(?:www\.)?hellshare\.(?:cz|com|sk|hu|pl)/[^?]*/\d+).*' __description__ = """Hellshare.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/HellspyCz.py b/module/plugins/hoster/HellspyCz.py index 1d41efefb..4be162dff 100644 --- a/module/plugins/hoster/HellspyCz.py +++ b/module/plugins/hoster/HellspyCz.py @@ -11,6 +11,7 @@ class HellspyCz(DeadHoster): __pattern__ = r'http://(?:www\.)?(?:hellspy\.(?:cz|com|sk|hu|pl)|sciagaj.pl)(/\S+/\d+)/?.*' __description__ = """HellSpy.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/HotfileCom.py b/module/plugins/hoster/HotfileCom.py index d4f034c07..e152b04c3 100644 --- a/module/plugins/hoster/HotfileCom.py +++ b/module/plugins/hoster/HotfileCom.py @@ -11,6 +11,7 @@ class HotfileCom(DeadHoster): __pattern__ = r'https?://(?:www\.)?hotfile\.com/dl/\d+/\w+' __description__ = """Hotfile.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("sitacuisses", "sitacuisses@yhoo.de"), ("spoob", "spoob@pyload.org"), ("mkaay", "mkaay@mkaay.de"), diff --git a/module/plugins/hoster/HugefilesNet.py b/module/plugins/hoster/HugefilesNet.py index e287594a8..528114601 100644 --- a/module/plugins/hoster/HugefilesNet.py +++ b/module/plugins/hoster/HugefilesNet.py @@ -14,6 +14,7 @@ class HugefilesNet(XFSPHoster): __pattern__ = r'http://(?:www\.)?hugefiles\.net/\w{12}' __description__ = """Hugefiles.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/HundredEightyUploadCom.py b/module/plugins/hoster/HundredEightyUploadCom.py index 33199fd5c..02cfe219d 100644 --- a/module/plugins/hoster/HundredEightyUploadCom.py +++ b/module/plugins/hoster/HundredEightyUploadCom.py @@ -14,6 +14,7 @@ class HundredEightyUploadCom(XFSPHoster): __pattern__ = r'http://(?:www\.)?180upload\.com/\w{12}' __description__ = """180upload.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/IFileWs.py b/module/plugins/hoster/IFileWs.py index cadbfa0ca..5b8eb7d97 100644 --- a/module/plugins/hoster/IFileWs.py +++ b/module/plugins/hoster/IFileWs.py @@ -11,6 +11,7 @@ class IFileWs(DeadHoster): __pattern__ = r'http://(?:www\.)?ifile\.ws/\w{12}' __description__ = """Ifile.ws hoster plugin""" + __license__ = "GPLv3" __authors__ = [("z00nx", "z00nx0@gmail.com")] diff --git a/module/plugins/hoster/IcyFilesCom.py b/module/plugins/hoster/IcyFilesCom.py index 5b7713199..c4eb8cce2 100644 --- a/module/plugins/hoster/IcyFilesCom.py +++ b/module/plugins/hoster/IcyFilesCom.py @@ -11,6 +11,7 @@ class IcyFilesCom(DeadHoster): __pattern__ = r'http://(?:www\.)?icyfiles\.com/(.*)' __description__ = """IcyFiles.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com")] diff --git a/module/plugins/hoster/IfileIt.py b/module/plugins/hoster/IfileIt.py index 9be7c5933..2c228ee8e 100644 --- a/module/plugins/hoster/IfileIt.py +++ b/module/plugins/hoster/IfileIt.py @@ -15,6 +15,7 @@ class IfileIt(SimpleHoster): __pattern__ = r'^unmatchable$' __description__ = """Ifile.it""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/IfolderRu.py b/module/plugins/hoster/IfolderRu.py index 3cff7e211..6ed69f95e 100644 --- a/module/plugins/hoster/IfolderRu.py +++ b/module/plugins/hoster/IfolderRu.py @@ -13,6 +13,7 @@ class IfolderRu(SimpleHoster): __pattern__ = r'http://(?:www\.)?(?:ifolder\.ru|rusfolder\.(?:com|net|ru))/(?:files/)?(?P\d+).*' __description__ = """Ifolder.ru hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/JumbofilesCom.py b/module/plugins/hoster/JumbofilesCom.py index 7986c20fa..842c31f2a 100644 --- a/module/plugins/hoster/JumbofilesCom.py +++ b/module/plugins/hoster/JumbofilesCom.py @@ -13,6 +13,7 @@ class JumbofilesCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?jumbofiles.com/(\w{12}).*' __description__ = """JumboFiles.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com")] diff --git a/module/plugins/hoster/Keep2shareCC.py b/module/plugins/hoster/Keep2shareCC.py index 191d26139..a9d4145d1 100644 --- a/module/plugins/hoster/Keep2shareCC.py +++ b/module/plugins/hoster/Keep2shareCC.py @@ -16,6 +16,7 @@ class Keep2shareCC(SimpleHoster): __pattern__ = r'https?://(?:www\.)?(keep2share|k2s|keep2s)\.cc/file/(?P\w+)' __description__ = """Keep2share.cc hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/KingfilesNet.py b/module/plugins/hoster/KingfilesNet.py index 82bbd735f..bf2cb2ace 100644 --- a/module/plugins/hoster/KingfilesNet.py +++ b/module/plugins/hoster/KingfilesNet.py @@ -14,6 +14,7 @@ class KingfilesNet(SimpleHoster): __pattern__ = r'http://(?:www\.)?kingfiles\.net/(?P\w{12})' __description__ = """Kingfiles.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/LemUploadsCom.py b/module/plugins/hoster/LemUploadsCom.py index 2c77f3106..21a1da0c4 100644 --- a/module/plugins/hoster/LemUploadsCom.py +++ b/module/plugins/hoster/LemUploadsCom.py @@ -11,6 +11,7 @@ class LemUploadsCom(DeadHoster): __pattern__ = r'https?://(?:www\.)?lemuploads\.com/\w{12}' __description__ = """LemUploads.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py index a9f41b795..cae7fdf67 100644 --- a/module/plugins/hoster/LetitbitNet.py +++ b/module/plugins/hoster/LetitbitNet.py @@ -41,6 +41,7 @@ class LetitbitNet(SimpleHoster): __pattern__ = r'http://(?:www\.)?(letitbit|shareflare).net/download/.*' __description__ = """Letitbit.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("z00nx", "z00nx0@gmail.com")] diff --git a/module/plugins/hoster/LinksnappyCom.py b/module/plugins/hoster/LinksnappyCom.py index 3685fb238..3372a505d 100644 --- a/module/plugins/hoster/LinksnappyCom.py +++ b/module/plugins/hoster/LinksnappyCom.py @@ -16,6 +16,7 @@ class LinksnappyCom(Hoster): __pattern__ = r'https?://(?:[^/]*\.)?linksnappy\.com' __description__ = """Linksnappy.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/LoadTo.py b/module/plugins/hoster/LoadTo.py index 74b892c9a..dfd18b6ef 100644 --- a/module/plugins/hoster/LoadTo.py +++ b/module/plugins/hoster/LoadTo.py @@ -18,6 +18,7 @@ class LoadTo(SimpleHoster): __pattern__ = r'http://(?:www\.)?load\.to/\w+' __description__ = """ Load.to hoster plugin """ + __license__ = "GPLv3" __authors__ = [("halfman", "Pulpan3@gmail.com"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/LomafileCom.py b/module/plugins/hoster/LomafileCom.py index ebb973cbd..9589318cc 100644 --- a/module/plugins/hoster/LomafileCom.py +++ b/module/plugins/hoster/LomafileCom.py @@ -11,6 +11,7 @@ class LomafileCom(XFSPHoster): __pattern__ = r'http://lomafile\.com/\w{12}' __description__ = """Lomafile.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("nath_schwarz", "nathan.notwhite@gmail.com"), ("guidobelix", "guidobelix@hotmail.it")] diff --git a/module/plugins/hoster/LuckyShareNet.py b/module/plugins/hoster/LuckyShareNet.py index 8449310b0..2b702986e 100644 --- a/module/plugins/hoster/LuckyShareNet.py +++ b/module/plugins/hoster/LuckyShareNet.py @@ -16,6 +16,7 @@ class LuckyShareNet(SimpleHoster): __pattern__ = r'https?://(?:www\.)?luckyshare.net/(?P\d{10,})' __description__ = """LuckyShare.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/MediafireCom.py b/module/plugins/hoster/MediafireCom.py index 840bbccc3..684f7ff13 100644 --- a/module/plugins/hoster/MediafireCom.py +++ b/module/plugins/hoster/MediafireCom.py @@ -52,6 +52,7 @@ class MediafireCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?mediafire\.com/(file/|(view/?|download.php)?\?)(\w{11}|\w{15})($|/)' __description__ = """Mediafire.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/MegaDebridEu.py b/module/plugins/hoster/MegaDebridEu.py index f46ea6c65..f45a0ed96 100644 --- a/module/plugins/hoster/MegaDebridEu.py +++ b/module/plugins/hoster/MegaDebridEu.py @@ -16,6 +16,7 @@ class MegaDebridEu(Hoster): __pattern__ = r'^https?://(?:w{3}\d+\.mega-debrid.eu|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/download/file/[^/]+/.+$' __description__ = """mega-debrid.eu hoster plugin""" + __license__ = "GPLv3" __authors__ = [("D.Ducatel", "dducatel@je-geek.fr")] diff --git a/module/plugins/hoster/MegaFilesSe.py b/module/plugins/hoster/MegaFilesSe.py index e5b10f6e1..5fc0f53e9 100644 --- a/module/plugins/hoster/MegaFilesSe.py +++ b/module/plugins/hoster/MegaFilesSe.py @@ -11,6 +11,7 @@ class MegaFilesSe(DeadHoster): __pattern__ = r'http://(?:www\.)?megafiles\.se/\w{12}' __description__ = """MegaFiles.se hoster plugin""" + __license__ = "GPLv3" __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] diff --git a/module/plugins/hoster/MegaNz.py b/module/plugins/hoster/MegaNz.py index fb7006627..10eac6236 100644 --- a/module/plugins/hoster/MegaNz.py +++ b/module/plugins/hoster/MegaNz.py @@ -21,6 +21,7 @@ class MegaNz(Hoster): __pattern__ = r'https?://([a-z0-9]+\.)?mega\.co\.nz/#!([a-zA-Z0-9!_\-]+)' __description__ = """Mega.co.nz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("RaNaN", "ranan@pyload.org")] diff --git a/module/plugins/hoster/MegacrypterCom.py b/module/plugins/hoster/MegacrypterCom.py index 56a84da69..855fba9b2 100644 --- a/module/plugins/hoster/MegacrypterCom.py +++ b/module/plugins/hoster/MegacrypterCom.py @@ -14,6 +14,7 @@ class MegacrypterCom(MegaNz): __pattern__ = r'(https?://[a-z0-9]{0,10}\.?megacrypter\.com/[a-zA-Z0-9!_\-]+)' __description__ = """Megacrypter.com decrypter plugin""" + __license__ = "GPLv3" __authors__ = [("GonzaloSR", "gonzalo@gonzalosr.com")] diff --git a/module/plugins/hoster/MegareleaseOrg.py b/module/plugins/hoster/MegareleaseOrg.py index b627a8f10..887a9aac4 100644 --- a/module/plugins/hoster/MegareleaseOrg.py +++ b/module/plugins/hoster/MegareleaseOrg.py @@ -11,6 +11,7 @@ class MegareleaseOrg(DeadHoster): __pattern__ = r'https?://(?:www\.)?megarelease\.org/\w{12}' __description__ = """Megarelease.org hoster plugin""" + __license__ = "GPLv3" __authors__ = [("derek3x", "derek3x@vmail.me"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/MegasharesCom.py b/module/plugins/hoster/MegasharesCom.py index e8fe85d22..e7ac1d250 100644 --- a/module/plugins/hoster/MegasharesCom.py +++ b/module/plugins/hoster/MegasharesCom.py @@ -15,6 +15,7 @@ class MegasharesCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?(d\d{2}\.)?megashares\.com/((index.php)?\?d\d{2}=|dl/)\w+' __description__ = """Megashares.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/MovReelCom.py b/module/plugins/hoster/MovReelCom.py index 9fd28385c..3a795ba2e 100644 --- a/module/plugins/hoster/MovReelCom.py +++ b/module/plugins/hoster/MovReelCom.py @@ -11,6 +11,7 @@ class MovReelCom(XFSPHoster): __pattern__ = r'http://(?:www\.)?movreel\.com/\w{12}' __description__ = """MovReel.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("JorisV83", "jorisv83-pyload@yahoo.com")] diff --git a/module/plugins/hoster/MultishareCz.py b/module/plugins/hoster/MultishareCz.py index 2e59925b6..42ad115ac 100644 --- a/module/plugins/hoster/MultishareCz.py +++ b/module/plugins/hoster/MultishareCz.py @@ -15,6 +15,7 @@ class MultishareCz(SimpleHoster): __pattern__ = r'http://(?:www\.)?multishare.cz/stahnout/(?P\d+).*' __description__ = """MultiShare.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/MyfastfileCom.py b/module/plugins/hoster/MyfastfileCom.py index dee99d490..02b91f599 100644 --- a/module/plugins/hoster/MyfastfileCom.py +++ b/module/plugins/hoster/MyfastfileCom.py @@ -12,6 +12,7 @@ class MyfastfileCom(Hoster): __version__ = "0.04" __pattern__ = r'http://(?:www\.)?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/dl/' __description__ = """Myfastfile.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/MyvideoDe.py b/module/plugins/hoster/MyvideoDe.py index 261ffdd8a..ec06806a5 100644 --- a/module/plugins/hoster/MyvideoDe.py +++ b/module/plugins/hoster/MyvideoDe.py @@ -14,6 +14,7 @@ class MyvideoDe(Hoster): __pattern__ = r'http://(?:www\.)?myvideo.de/watch/' __description__ = """Myvideo.de hoster plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org")] diff --git a/module/plugins/hoster/NarodRu.py b/module/plugins/hoster/NarodRu.py index 882d89d56..4de4d5946 100644 --- a/module/plugins/hoster/NarodRu.py +++ b/module/plugins/hoster/NarodRu.py @@ -15,6 +15,7 @@ class NarodRu(SimpleHoster): __pattern__ = r'http://(?:www\.)?narod(\.yandex)?\.ru/(disk|start/[0-9]+\.\w+-narod\.yandex\.ru)/(?P\d+)/.+' __description__ = """Narod.ru hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/NetloadIn.py b/module/plugins/hoster/NetloadIn.py index ec68c08f7..fe00e1565 100644 --- a/module/plugins/hoster/NetloadIn.py +++ b/module/plugins/hoster/NetloadIn.py @@ -57,6 +57,7 @@ class NetloadIn(Hoster): __pattern__ = r'https?://(?:[^/]*\.)?netload\.in/(?:datei(.*?)(?:\.htm|/)|index.php?id=10&file_id=)' __description__ = """Netload.in hoster plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org"), ("RaNaN", "ranan@pyload.org"), ("Gregy", "gregy@gregy.cz")] diff --git a/module/plugins/hoster/NosuploadCom.py b/module/plugins/hoster/NosuploadCom.py index e756c63f6..d94593227 100644 --- a/module/plugins/hoster/NosuploadCom.py +++ b/module/plugins/hoster/NosuploadCom.py @@ -13,6 +13,7 @@ class NosuploadCom(XFSPHoster): __pattern__ = r'http://(?:www\.)?nosupload\.com/\?d=\w{12}' __description__ = """Nosupload.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("igel", "igelkun@myopera.com")] diff --git a/module/plugins/hoster/NovafileCom.py b/module/plugins/hoster/NovafileCom.py index 958c10411..4963559c8 100644 --- a/module/plugins/hoster/NovafileCom.py +++ b/module/plugins/hoster/NovafileCom.py @@ -15,6 +15,7 @@ class NovafileCom(XFSPHoster): __pattern__ = r'http://(?:www\.)?novafile\.com/\w{12}' __description__ = """Novafile.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/NowDownloadEu.py b/module/plugins/hoster/NowDownloadEu.py index 5e97add30..f3da3033f 100644 --- a/module/plugins/hoster/NowDownloadEu.py +++ b/module/plugins/hoster/NowDownloadEu.py @@ -14,6 +14,7 @@ class NowDownloadEu(SimpleHoster): __pattern__ = r'http://(?:www\.)?nowdownload\.(ch|co|eu|sx)/(dl/|download\.php\?id=)(?P\w+)' __description__ = """NowDownload.ch hoster plugin""" + __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/OboomCom.py b/module/plugins/hoster/OboomCom.py index 5d3983c72..cad8c2ec9 100644 --- a/module/plugins/hoster/OboomCom.py +++ b/module/plugins/hoster/OboomCom.py @@ -18,6 +18,7 @@ class OboomCom(Hoster): __pattern__ = r'https?://(?:www\.)?oboom\.com/(#(id=|/)?)?(?P\w{8})' __description__ = """oboom.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stanley", "stanley.foerster@gmail.com")] diff --git a/module/plugins/hoster/OneFichierCom.py b/module/plugins/hoster/OneFichierCom.py index 488b5b479..81eff0a27 100644 --- a/module/plugins/hoster/OneFichierCom.py +++ b/module/plugins/hoster/OneFichierCom.py @@ -13,6 +13,7 @@ class OneFichierCom(SimpleHoster): __pattern__ = r'https?://(?P\w+)\.(?P(1fichier|d(es)?fichiers|pjointe)\.(com|fr|net|org)|(cjoint|mesfichiers|piecejointe|oi)\.(org|net)|tenvoi\.(com|org|net)|dl4free\.com|alterupload\.com|megadl\.fr)' __description__ = """1fichier.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), ("the-razer", "daniel_ AT gmx DOT net"), ("zoidberg", "zoidberg@mujmail.cz"), diff --git a/module/plugins/hoster/OverLoadMe.py b/module/plugins/hoster/OverLoadMe.py index 6bb481fbc..f1f5d55e4 100644 --- a/module/plugins/hoster/OverLoadMe.py +++ b/module/plugins/hoster/OverLoadMe.py @@ -18,6 +18,7 @@ class OverLoadMe(Hoster): __pattern__ = r'https?://.*overload\.me.*' __description__ = """Over-Load.me hoster plugin""" + __license__ = "GPLv3" __authors__ = [("marley", "marley@over-load.me")] diff --git a/module/plugins/hoster/PandaPlaNet.py b/module/plugins/hoster/PandaPlaNet.py index 9473726fa..9b3935204 100644 --- a/module/plugins/hoster/PandaPlaNet.py +++ b/module/plugins/hoster/PandaPlaNet.py @@ -11,6 +11,7 @@ class PandaPlaNet(DeadHoster): __pattern__ = r'http://(?:www\.)?pandapla\.net/\w{12}' __description__ = """Pandapla.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] diff --git a/module/plugins/hoster/PornhostCom.py b/module/plugins/hoster/PornhostCom.py index 2c9683620..94bbb426b 100644 --- a/module/plugins/hoster/PornhostCom.py +++ b/module/plugins/hoster/PornhostCom.py @@ -13,6 +13,7 @@ class PornhostCom(Hoster): __pattern__ = r'http://(?:www\.)?pornhost\.com/([0-9]+/[0-9]+\.html|[0-9]+)' __description__ = """Pornhost.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de")] diff --git a/module/plugins/hoster/PornhubCom.py b/module/plugins/hoster/PornhubCom.py index e21e32c06..12d47e3b7 100644 --- a/module/plugins/hoster/PornhubCom.py +++ b/module/plugins/hoster/PornhubCom.py @@ -13,6 +13,7 @@ class PornhubCom(Hoster): __pattern__ = r'http://(?:www\.)?pornhub\.com/view_video\.php\?viewkey=[\w\d]+' __description__ = """Pornhub.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de")] diff --git a/module/plugins/hoster/PotloadCom.py b/module/plugins/hoster/PotloadCom.py index ce5f832a1..d9314dffb 100644 --- a/module/plugins/hoster/PotloadCom.py +++ b/module/plugins/hoster/PotloadCom.py @@ -11,6 +11,7 @@ class PotloadCom(DeadHoster): __pattern__ = r'http://(?:www\.)?potload\.com/\w{12}' __description__ = """Potload.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/PremiumTo.py b/module/plugins/hoster/PremiumTo.py index fd75e51e3..e78fdfd4f 100644 --- a/module/plugins/hoster/PremiumTo.py +++ b/module/plugins/hoster/PremiumTo.py @@ -16,6 +16,7 @@ class PremiumTo(Hoster): __pattern__ = r'https?://(?:www\.)?premium.to/.*' __description__ = """Premium.to hoster plugin""" + __license__ = "GPLv3" __authors__ = [("RaNaN", "RaNaN@pyload.org"), ("zoidberg", "zoidberg@mujmail.cz"), ("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/PremiumizeMe.py b/module/plugins/hoster/PremiumizeMe.py index af4a09a06..07872326c 100644 --- a/module/plugins/hoster/PremiumizeMe.py +++ b/module/plugins/hoster/PremiumizeMe.py @@ -12,6 +12,7 @@ class PremiumizeMe(Hoster): __pattern__ = None #: Since we want to allow the user to specify the list of hoster to use we let MultiHoster.coreReady __description__ = """Premiumize.me hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Florian Franzen", "FlorianFranzen@gmail.com")] diff --git a/module/plugins/hoster/PromptfileCom.py b/module/plugins/hoster/PromptfileCom.py index abce7f189..b6f35e8ba 100644 --- a/module/plugins/hoster/PromptfileCom.py +++ b/module/plugins/hoster/PromptfileCom.py @@ -13,6 +13,7 @@ class PromptfileCom(SimpleHoster): __pattern__ = r'https?://(?:www\.)?promptfile\.com/' __description__ = """Promptfile.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("igel", "igelkun@myopera.com")] diff --git a/module/plugins/hoster/QuickshareCz.py b/module/plugins/hoster/QuickshareCz.py index d33c9392b..de8ae04af 100644 --- a/module/plugins/hoster/QuickshareCz.py +++ b/module/plugins/hoster/QuickshareCz.py @@ -15,6 +15,7 @@ class QuickshareCz(SimpleHoster): __pattern__ = r'http://(?:[^/]*\.)?quickshare.cz/stahnout-soubor/.*' __description__ = """Quickshare.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/RPNetBiz.py b/module/plugins/hoster/RPNetBiz.py index 012c9a5a1..3132001ed 100644 --- a/module/plugins/hoster/RPNetBiz.py +++ b/module/plugins/hoster/RPNetBiz.py @@ -12,6 +12,7 @@ class RPNetBiz(Hoster): __version__ = "0.1" __description__ = """RPNet.biz hoster plugin""" + __license__ = "GPLv3" __pattern__ = r'https?://.*rpnet\.biz' __authors__ = [("Dman", "dmanugm@gmail.com")] diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 598218cae..0223af3c1 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -19,6 +19,7 @@ class RapidgatorNet(SimpleHoster): __pattern__ = r'http://(?:www\.)?(rapidgator\.net|rg\.to)/file/\w+' __description__ = """Rapidgator.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("chrox", None), ("stickell", "l.stickell@yahoo.it"), diff --git a/module/plugins/hoster/RapidshareCom.py b/module/plugins/hoster/RapidshareCom.py index 7ece1ffee..22887e7cc 100644 --- a/module/plugins/hoster/RapidshareCom.py +++ b/module/plugins/hoster/RapidshareCom.py @@ -52,6 +52,7 @@ class RapidshareCom(Hoster): "Preferred Server", "None")] __description__ = """Rapidshare.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org"), ("RaNaN", "ranan@pyload.org"), ("mkaay", "mkaay@mkaay.de")] diff --git a/module/plugins/hoster/RarefileNet.py b/module/plugins/hoster/RarefileNet.py index fab0f2aaf..03c322c2b 100644 --- a/module/plugins/hoster/RarefileNet.py +++ b/module/plugins/hoster/RarefileNet.py @@ -14,6 +14,7 @@ class RarefileNet(XFSPHoster): __pattern__ = r'http://(?:www\.)?rarefile\.net/\w{12}' __description__ = """Rarefile.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/RealdebridCom.py b/module/plugins/hoster/RealdebridCom.py index 3b82d2284..fe6db98cb 100644 --- a/module/plugins/hoster/RealdebridCom.py +++ b/module/plugins/hoster/RealdebridCom.py @@ -19,6 +19,7 @@ class RealdebridCom(Hoster): __pattern__ = r'https?://(?:[^/]*\.)?real-debrid\..*' __description__ = """Real-Debrid.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Devirex Hazzard", "naibaf_11@yahoo.de")] diff --git a/module/plugins/hoster/RedtubeCom.py b/module/plugins/hoster/RedtubeCom.py index 1e1df902d..f8ac81693 100644 --- a/module/plugins/hoster/RedtubeCom.py +++ b/module/plugins/hoster/RedtubeCom.py @@ -14,6 +14,7 @@ class RedtubeCom(Hoster): __pattern__ = r'http://(?:www\.)?redtube\.com/\d+' __description__ = """Redtube.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de")] diff --git a/module/plugins/hoster/RehostTo.py b/module/plugins/hoster/RehostTo.py index e1ee3aeb9..b4f8f968b 100644 --- a/module/plugins/hoster/RehostTo.py +++ b/module/plugins/hoster/RehostTo.py @@ -13,6 +13,7 @@ class RehostTo(Hoster): __pattern__ = r'https?://.*rehost.to\..*' __description__ = """Rehost.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("RaNaN", "RaNaN@pyload.org")] diff --git a/module/plugins/hoster/RemixshareCom.py b/module/plugins/hoster/RemixshareCom.py index 4507e1dbe..dc50fcbfd 100644 --- a/module/plugins/hoster/RemixshareCom.py +++ b/module/plugins/hoster/RemixshareCom.py @@ -21,6 +21,7 @@ class RemixshareCom(SimpleHoster): __pattern__ = r'https?://remixshare\.com/(download|dl)/\w+' __description__ = """Remixshare.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/RgHostNet.py b/module/plugins/hoster/RgHostNet.py index 70696dd72..2018106cb 100644 --- a/module/plugins/hoster/RgHostNet.py +++ b/module/plugins/hoster/RgHostNet.py @@ -13,6 +13,7 @@ class RgHostNet(SimpleHoster): __pattern__ = r'http://(?:www\.)?rghost\.net/\d+(?:r=\d+)?' __description__ = """RgHost.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("z00nx", "z00nx0@gmail.com")] diff --git a/module/plugins/hoster/RyushareCom.py b/module/plugins/hoster/RyushareCom.py index 92a7a22c2..833577c1a 100644 --- a/module/plugins/hoster/RyushareCom.py +++ b/module/plugins/hoster/RyushareCom.py @@ -17,6 +17,7 @@ class RyushareCom(XFSPHoster): __pattern__ = r'http://(?:www\.)?ryushare\.com/\w+' __description__ = """Ryushare.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("stickell", "l.stickell@yahoo.it"), ("quareevo", "quareevo@arcor.de")] diff --git a/module/plugins/hoster/SecureUploadEu.py b/module/plugins/hoster/SecureUploadEu.py index 59dc4d537..c67e3565f 100644 --- a/module/plugins/hoster/SecureUploadEu.py +++ b/module/plugins/hoster/SecureUploadEu.py @@ -11,6 +11,7 @@ class SecureUploadEu(XFSPHoster): __pattern__ = r'https?://(?:www\.)?secureupload\.eu/\w{12}' __description__ = """SecureUpload.eu hoster plugin""" + __license__ = "GPLv3" __authors__ = [("z00nx", "z00nx0@gmail.com")] diff --git a/module/plugins/hoster/SendmywayCom.py b/module/plugins/hoster/SendmywayCom.py index efb6c34c4..29c763ba4 100644 --- a/module/plugins/hoster/SendmywayCom.py +++ b/module/plugins/hoster/SendmywayCom.py @@ -11,6 +11,7 @@ class SendmywayCom(XFSPHoster): __pattern__ = r'http://(?:www\.)?sendmyway\.com/\w{12}' __description__ = """SendMyWay hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/SendspaceCom.py b/module/plugins/hoster/SendspaceCom.py index 01399ca2e..b9907794d 100644 --- a/module/plugins/hoster/SendspaceCom.py +++ b/module/plugins/hoster/SendspaceCom.py @@ -13,6 +13,7 @@ class SendspaceCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?sendspace.com/file/.*' __description__ = """Sendspace.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/Share4webCom.py b/module/plugins/hoster/Share4webCom.py index 3b839a30f..14f566b27 100644 --- a/module/plugins/hoster/Share4webCom.py +++ b/module/plugins/hoster/Share4webCom.py @@ -12,6 +12,7 @@ class Share4webCom(UnibytesCom): __pattern__ = r'http://(?:www\.)?share4web\.com/get/\w+' __description__ = """Share4web.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/Share76Com.py b/module/plugins/hoster/Share76Com.py index e78218150..34b40ae0d 100644 --- a/module/plugins/hoster/Share76Com.py +++ b/module/plugins/hoster/Share76Com.py @@ -11,6 +11,7 @@ class Share76Com(DeadHoster): __pattern__ = r'http://(?:www\.)?share76.com/\w{12}' __description__ = """Share76.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [] diff --git a/module/plugins/hoster/ShareFilesCo.py b/module/plugins/hoster/ShareFilesCo.py index 210395cc5..e9d0e49ac 100644 --- a/module/plugins/hoster/ShareFilesCo.py +++ b/module/plugins/hoster/ShareFilesCo.py @@ -11,6 +11,7 @@ class ShareFilesCo(DeadHoster): __pattern__ = r'http://(?:www\.)?sharefiles\.co/\w{12}' __description__ = """Sharefiles.co hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/ShareRapidCom.py b/module/plugins/hoster/ShareRapidCom.py index 5d539baaf..9b80a9914 100644 --- a/module/plugins/hoster/ShareRapidCom.py +++ b/module/plugins/hoster/ShareRapidCom.py @@ -27,6 +27,7 @@ class ShareRapidCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/soubor/\d+/.+' __description__ = """MegaRapid.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("MikyWoW", "mikywow@seznam.cz"), ("zoidberg", "zoidberg@mujmail.cz"), ("stickell", "l.stickell@yahoo.it"), diff --git a/module/plugins/hoster/SharebeesCom.py b/module/plugins/hoster/SharebeesCom.py index 8112a11b5..675bd2286 100644 --- a/module/plugins/hoster/SharebeesCom.py +++ b/module/plugins/hoster/SharebeesCom.py @@ -11,6 +11,7 @@ class SharebeesCom(DeadHoster): __pattern__ = r'http://(?:www\.)?sharebees.com/\w{12}' __description__ = """ShareBees hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py index fa5cd3ffe..f3290af9e 100644 --- a/module/plugins/hoster/ShareonlineBiz.py +++ b/module/plugins/hoster/ShareonlineBiz.py @@ -44,6 +44,7 @@ class ShareonlineBiz(Hoster): __pattern__ = r'https?://(?:www\.)?(share-online\.biz|egoshare\.com)/(download.php\?id=|dl/)(?P\w+)' __description__ = """Shareonline.biz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org"), ("mkaay", "mkaay@mkaay.de"), ("zoidberg", "zoidberg@mujmail.cz"), diff --git a/module/plugins/hoster/ShareplaceCom.py b/module/plugins/hoster/ShareplaceCom.py index 7e6aee0df..ef15f586a 100644 --- a/module/plugins/hoster/ShareplaceCom.py +++ b/module/plugins/hoster/ShareplaceCom.py @@ -15,6 +15,7 @@ class ShareplaceCom(Hoster): __pattern__ = r'(http://)?(?:www\.)?shareplace\.(com|org)/\?[a-zA-Z0-9]+' __description__ = """Shareplace.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("ACCakut", None)] diff --git a/module/plugins/hoster/ShragleCom.py b/module/plugins/hoster/ShragleCom.py index 24470eef6..0a78cfcd0 100644 --- a/module/plugins/hoster/ShragleCom.py +++ b/module/plugins/hoster/ShragleCom.py @@ -11,6 +11,7 @@ class ShragleCom(DeadHoster): __pattern__ = r'http://(?:www\.)?(cloudnator|shragle).com/files/(?P.*?)/' __description__ = """Cloudnator.com (Shragle.com) hoster plugin""" + __license__ = "GPLv3" __authors__ = [("RaNaN", "RaNaN@pyload.org"), ("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/SimplyPremiumCom.py b/module/plugins/hoster/SimplyPremiumCom.py index 044a2c9f7..e78a1f469 100644 --- a/module/plugins/hoster/SimplyPremiumCom.py +++ b/module/plugins/hoster/SimplyPremiumCom.py @@ -16,6 +16,7 @@ class SimplyPremiumCom(Hoster): __pattern__ = r'https?://.*(simply-premium)\.com' __description__ = """Simply-Premium.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("EvolutionClip", "evolutionclip@live.de")] diff --git a/module/plugins/hoster/SimplydebridCom.py b/module/plugins/hoster/SimplydebridCom.py index 818eea392..7476cf45e 100644 --- a/module/plugins/hoster/SimplydebridCom.py +++ b/module/plugins/hoster/SimplydebridCom.py @@ -13,6 +13,7 @@ class SimplydebridCom(Hoster): __pattern__ = r'http://(?:www\.)?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/sd.php/*' __description__ = """Simply-debrid.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Kagenoshin", "kagenoshin@gmx.ch")] diff --git a/module/plugins/hoster/SockshareCom.py b/module/plugins/hoster/SockshareCom.py index cc17ae366..930d63ad8 100644 --- a/module/plugins/hoster/SockshareCom.py +++ b/module/plugins/hoster/SockshareCom.py @@ -16,6 +16,7 @@ class SockshareCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?sockshare\.com/(mobile/)?(file|embed)/(?P\w+)' __description__ = """Sockshare.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de"), ("stickell", "l.stickell@yahoo.it"), ("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/SoundcloudCom.py b/module/plugins/hoster/SoundcloudCom.py index d88ade399..1fa1ec6ea 100644 --- a/module/plugins/hoster/SoundcloudCom.py +++ b/module/plugins/hoster/SoundcloudCom.py @@ -14,6 +14,7 @@ class SoundcloudCom(Hoster): __pattern__ = r'https?://(?:www\.)?soundcloud\.com/(?P.*?)/(?P.*)' __description__ = """SoundCloud.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Peekayy", "peekayy.dev@gmail.com")] diff --git a/module/plugins/hoster/SpeedLoadOrg.py b/module/plugins/hoster/SpeedLoadOrg.py index 7cc0039de..0706b7fe4 100644 --- a/module/plugins/hoster/SpeedLoadOrg.py +++ b/module/plugins/hoster/SpeedLoadOrg.py @@ -11,6 +11,7 @@ class SpeedLoadOrg(DeadHoster): __pattern__ = r'http://(?:www\.)?speedload\.org/(?P\w+)' __description__ = """Speedload.org hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/SpeedfileCz.py b/module/plugins/hoster/SpeedfileCz.py index 2af28d935..5d50b9bff 100644 --- a/module/plugins/hoster/SpeedfileCz.py +++ b/module/plugins/hoster/SpeedfileCz.py @@ -11,6 +11,7 @@ class SpeedfileCz(DeadHoster): __pattern__ = r'http://(?:www\.)?speedfile.cz/.*' __description__ = """Speedfile.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/SpeedyshareCom.py b/module/plugins/hoster/SpeedyshareCom.py index f07170d71..e2968835d 100644 --- a/module/plugins/hoster/SpeedyshareCom.py +++ b/module/plugins/hoster/SpeedyshareCom.py @@ -18,6 +18,7 @@ class SpeedyshareCom(SimpleHoster): __pattern__ = r"https?://(?:www\.)?(speedyshare\.com|speedy\.sh)/\w+" __description__ = """Speedyshare.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de")] diff --git a/module/plugins/hoster/StreamCz.py b/module/plugins/hoster/StreamCz.py index dd5108e1c..de48a5d13 100644 --- a/module/plugins/hoster/StreamCz.py +++ b/module/plugins/hoster/StreamCz.py @@ -28,6 +28,7 @@ class StreamCz(Hoster): __pattern__ = r'https?://(?:www\.)?stream\.cz/[^/]+/\d+.*' __description__ = """Stream.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/StreamcloudEu.py b/module/plugins/hoster/StreamcloudEu.py index 6adace633..1df5ca13c 100644 --- a/module/plugins/hoster/StreamcloudEu.py +++ b/module/plugins/hoster/StreamcloudEu.py @@ -16,6 +16,7 @@ class StreamcloudEu(XFSPHoster): __pattern__ = r'http://(?:www\.)?streamcloud\.eu/\w{12}' __description__ = """Streamcloud.eu hoster plugin""" + __license__ = "GPLv3" __authors__ = [("seoester", "seoester@googlemail.com")] diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py index 99d8143b8..b56697da8 100644 --- a/module/plugins/hoster/TurbobitNet.py +++ b/module/plugins/hoster/TurbobitNet.py @@ -22,6 +22,7 @@ class TurbobitNet(SimpleHoster): __pattern__ = r'http://(?:www\.)?turbobit\.net/(?:download/free/)?(?P\w+)' __description__ = """ Turbobit.net hoster plugin """ + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), ("prOq", None)] diff --git a/module/plugins/hoster/TurbouploadCom.py b/module/plugins/hoster/TurbouploadCom.py index 6f9ec4517..f6a6dee41 100644 --- a/module/plugins/hoster/TurbouploadCom.py +++ b/module/plugins/hoster/TurbouploadCom.py @@ -11,6 +11,7 @@ class TurbouploadCom(DeadHoster): __pattern__ = r'http://(?:www\.)?turboupload.com/(\w+).*' __description__ = """Turboupload.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/TusfilesNet.py b/module/plugins/hoster/TusfilesNet.py index b98dc885b..f39e59d88 100644 --- a/module/plugins/hoster/TusfilesNet.py +++ b/module/plugins/hoster/TusfilesNet.py @@ -11,6 +11,7 @@ class TusfilesNet(XFSPHoster): __pattern__ = r'https?://(?:www\.)?tusfiles\.net/\w{12}' __description__ = """Tusfiles.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com"), ("guidobelix", "guidobelix@hotmail.it")] diff --git a/module/plugins/hoster/TwoSharedCom.py b/module/plugins/hoster/TwoSharedCom.py index d9cf4479b..4bef13a67 100644 --- a/module/plugins/hoster/TwoSharedCom.py +++ b/module/plugins/hoster/TwoSharedCom.py @@ -13,6 +13,7 @@ class TwoSharedCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?2shared.com/(account/)?(download|get|file|document|photo|video|audio)/.*' __description__ = """2Shared.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py index 3ebde0651..cf92560bc 100644 --- a/module/plugins/hoster/UlozTo.py +++ b/module/plugins/hoster/UlozTo.py @@ -20,6 +20,7 @@ class UlozTo(SimpleHoster): __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(?:live/)?(?P\w+/[^/?]*)' __description__ = """Uloz.to hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/UloziskoSk.py b/module/plugins/hoster/UloziskoSk.py index 936a38d3d..1ce7c8879 100644 --- a/module/plugins/hoster/UloziskoSk.py +++ b/module/plugins/hoster/UloziskoSk.py @@ -13,6 +13,7 @@ class UloziskoSk(SimpleHoster): __pattern__ = r'http://(?:www\.)?ulozisko.sk/.*' __description__ = """Ulozisko.sk hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/UnibytesCom.py b/module/plugins/hoster/UnibytesCom.py index e00b91d33..ec6df395c 100644 --- a/module/plugins/hoster/UnibytesCom.py +++ b/module/plugins/hoster/UnibytesCom.py @@ -15,6 +15,7 @@ class UnibytesCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?unibytes\.com/[a-zA-Z0-9-._ ]{11}B' __description__ = """UniBytes.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/UnrestrictLi.py b/module/plugins/hoster/UnrestrictLi.py index 56805c8c2..0cd8e315f 100644 --- a/module/plugins/hoster/UnrestrictLi.py +++ b/module/plugins/hoster/UnrestrictLi.py @@ -26,6 +26,7 @@ class UnrestrictLi(Hoster): __pattern__ = r'https?://(?:[^/]*\.)?(unrestrict|unr)\.li' __description__ = """Unrestrict.li hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/UploadStationCom.py b/module/plugins/hoster/UploadStationCom.py index 820f9764a..7b3f4d55e 100644 --- a/module/plugins/hoster/UploadStationCom.py +++ b/module/plugins/hoster/UploadStationCom.py @@ -11,6 +11,7 @@ class UploadStationCom(DeadHoster): __pattern__ = r'http://(?:www\.)?uploadstation\.com/file/(?P[A-Za-z0-9]+)' __description__ = """UploadStation.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("fragonib", "fragonib[AT]yahoo[DOT]es"), ("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/UploadedTo.py b/module/plugins/hoster/UploadedTo.py index 3f8d6ae8c..0affffbb9 100644 --- a/module/plugins/hoster/UploadedTo.py +++ b/module/plugins/hoster/UploadedTo.py @@ -99,6 +99,7 @@ class UploadedTo(Hoster): __pattern__ = r'https?://(?:www\.)?(uploaded\.(to|net)|ul\.to)(/file/|/?\?id=|.*?&id=|/)(?P\w+)' __description__ = """Uploaded.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org"), ("mkaay", "mkaay@mkaay.de"), ("zoidberg", "zoidberg@mujmail.cz"), diff --git a/module/plugins/hoster/UploadheroCom.py b/module/plugins/hoster/UploadheroCom.py index df96e9dd7..d22280102 100644 --- a/module/plugins/hoster/UploadheroCom.py +++ b/module/plugins/hoster/UploadheroCom.py @@ -16,6 +16,7 @@ class UploadheroCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?uploadhero\.com?/dl/\w+' __description__ = """UploadHero.co plugin""" + __license__ = "GPLv3" __authors__ = [("mcmyst", "mcmyst@hotmail.fr"), ("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/UploadingCom.py b/module/plugins/hoster/UploadingCom.py index 1ec8370e2..7033a364d 100644 --- a/module/plugins/hoster/UploadingCom.py +++ b/module/plugins/hoster/UploadingCom.py @@ -16,6 +16,7 @@ class UploadingCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?uploading\.com/files/(?:get/)?(?P[\w\d]+)' __description__ = """Uploading.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de"), ("mkaay", "mkaay@mkaay.de"), ("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/UpstoreNet.py b/module/plugins/hoster/UpstoreNet.py index ab79a38a2..2eb88afef 100644 --- a/module/plugins/hoster/UpstoreNet.py +++ b/module/plugins/hoster/UpstoreNet.py @@ -14,6 +14,7 @@ class UpstoreNet(SimpleHoster): __pattern__ = r'https?://(?:www\.)?upstore\.net/' __description__ = """Upstore.Net File Download Hoster""" + __license__ = "GPLv3" __authors__ = [("igel", "igelkun@myopera.com")] diff --git a/module/plugins/hoster/UptoboxCom.py b/module/plugins/hoster/UptoboxCom.py index e69058e98..d1ed81843 100644 --- a/module/plugins/hoster/UptoboxCom.py +++ b/module/plugins/hoster/UptoboxCom.py @@ -13,6 +13,7 @@ class UptoboxCom(XFSPHoster): __pattern__ = r'https?://(?:www\.)?uptobox\.com/\w{12}' __description__ = """Uptobox.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/VeehdCom.py b/module/plugins/hoster/VeehdCom.py index ffb1e9c56..50d24f4c9 100644 --- a/module/plugins/hoster/VeehdCom.py +++ b/module/plugins/hoster/VeehdCom.py @@ -15,6 +15,7 @@ class VeehdCom(Hoster): ("replacement_char", "str", "Filename replacement character", "_")] __description__ = """Veehd.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("cat", "cat@pyload")] diff --git a/module/plugins/hoster/VeohCom.py b/module/plugins/hoster/VeohCom.py index 923679305..a4b94f40f 100644 --- a/module/plugins/hoster/VeohCom.py +++ b/module/plugins/hoster/VeohCom.py @@ -14,6 +14,7 @@ class VeohCom(SimpleHoster): __config__ = [("quality", "Low;High;Auto", "Quality", "Auto")] __description__ = """Veoh.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/VidPlayNet.py b/module/plugins/hoster/VidPlayNet.py index 51bf66b24..95ed386d7 100644 --- a/module/plugins/hoster/VidPlayNet.py +++ b/module/plugins/hoster/VidPlayNet.py @@ -14,6 +14,7 @@ class VidPlayNet(XFSPHoster): __pattern__ = r'https?://(?:www\.)?vidplay\.net/\w{12}' __description__ = """VidPlay.net hoster plugin""" + __license__ = "GPLv3" __authors__ = [("t4skforce", "t4skforce1337[AT]gmail[DOT]com")] diff --git a/module/plugins/hoster/VimeoCom.py b/module/plugins/hoster/VimeoCom.py index 48c20d2de..2f554ee1b 100644 --- a/module/plugins/hoster/VimeoCom.py +++ b/module/plugins/hoster/VimeoCom.py @@ -15,6 +15,7 @@ class VimeoCom(SimpleHoster): ("original", "bool", "Try to download the original file first", True)] __description__ = """Vimeo.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/Vipleech4uCom.py b/module/plugins/hoster/Vipleech4uCom.py index db025db9b..18b1fe1f3 100644 --- a/module/plugins/hoster/Vipleech4uCom.py +++ b/module/plugins/hoster/Vipleech4uCom.py @@ -11,6 +11,7 @@ class Vipleech4uCom(DeadHoster): __pattern__ = r'http://(?:www\.)?vipleech4u\.com/manager\.php' __description__ = """Vipleech4u.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Kagenoshin", "kagenoshin@gmx.ch")] diff --git a/module/plugins/hoster/WarserverCz.py b/module/plugins/hoster/WarserverCz.py index 2e1e54db3..cde40b231 100644 --- a/module/plugins/hoster/WarserverCz.py +++ b/module/plugins/hoster/WarserverCz.py @@ -11,6 +11,7 @@ class WarserverCz(DeadHoster): __pattern__ = r'http://(?:www\.)?warserver\.cz/stahnout/\d+' __description__ = """Warserver.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/WebshareCz.py b/module/plugins/hoster/WebshareCz.py index dd363b024..b1163825d 100644 --- a/module/plugins/hoster/WebshareCz.py +++ b/module/plugins/hoster/WebshareCz.py @@ -29,6 +29,7 @@ class WebshareCz(SimpleHoster): __pattern__ = r'https?://(?:www\.)?webshare.cz/(?:#/)?file/(?P\w+)' __description__ = """WebShare.cz hoster plugin""" + __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] diff --git a/module/plugins/hoster/WrzucTo.py b/module/plugins/hoster/WrzucTo.py index 6569be5b2..0a5d9bfb4 100644 --- a/module/plugins/hoster/WrzucTo.py +++ b/module/plugins/hoster/WrzucTo.py @@ -15,6 +15,7 @@ class WrzucTo(SimpleHoster): __pattern__ = r'http://(?:www\.)?wrzuc\.to/([a-zA-Z0-9]+(\.wt|\.html)|(\w+/?linki/[a-zA-Z0-9]+))' __description__ = """Wrzuc.to hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/WuploadCom.py b/module/plugins/hoster/WuploadCom.py index 02a002d66..5b4e2318f 100644 --- a/module/plugins/hoster/WuploadCom.py +++ b/module/plugins/hoster/WuploadCom.py @@ -11,6 +11,7 @@ class WuploadCom(DeadHoster): __pattern__ = r'http://(?:www\.)?wupload\..*?/file/(([a-z][0-9]+/)?[0-9]+)(/.*)?' __description__ = """Wupload.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de"), ("Paul King", None)] diff --git a/module/plugins/hoster/X7To.py b/module/plugins/hoster/X7To.py index abf4e2fa4..2288a750a 100644 --- a/module/plugins/hoster/X7To.py +++ b/module/plugins/hoster/X7To.py @@ -11,6 +11,7 @@ class X7To(DeadHoster): __pattern__ = r'http://(?:www\.)?x7.to/' __description__ = """X7.to hoster plugin""" + __license__ = "GPLv3" __authors__ = [("ernieb", "ernieb")] diff --git a/module/plugins/hoster/XFileSharingPro.py b/module/plugins/hoster/XFileSharingPro.py index 9c46e8120..e670dc5af 100644 --- a/module/plugins/hoster/XFileSharingPro.py +++ b/module/plugins/hoster/XFileSharingPro.py @@ -13,6 +13,7 @@ class XFileSharingPro(XFSPHoster): __pattern__ = r'^unmatchable$' __description__ = """XFileSharingPro dummy hoster plugin for hook""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hoster/XHamsterCom.py b/module/plugins/hoster/XHamsterCom.py index 4224ecb34..6dc9b4a29 100644 --- a/module/plugins/hoster/XHamsterCom.py +++ b/module/plugins/hoster/XHamsterCom.py @@ -25,6 +25,7 @@ class XHamsterCom(Hoster): __config__ = [("type", ".mp4;.flv", "Preferred type", ".mp4")] __description__ = """XHamster.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [] diff --git a/module/plugins/hoster/XVideosCom.py b/module/plugins/hoster/XVideosCom.py index 2e1934fdb..6192782c8 100644 --- a/module/plugins/hoster/XVideosCom.py +++ b/module/plugins/hoster/XVideosCom.py @@ -15,6 +15,7 @@ class XVideosCom(Hoster): __pattern__ = r'http://(?:www\.)?xvideos\.com/video([0-9]+)/.*' __description__ = """XVideos.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [] diff --git a/module/plugins/hoster/Xdcc.py b/module/plugins/hoster/Xdcc.py index a4a630ad9..db9c5edf9 100644 --- a/module/plugins/hoster/Xdcc.py +++ b/module/plugins/hoster/Xdcc.py @@ -24,6 +24,7 @@ class Xdcc(Hoster): ("realname", "str", "Realname", "pyloadreal")] __description__ = """Download from IRC XDCC bot""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.com")] diff --git a/module/plugins/hoster/YibaishiwuCom.py b/module/plugins/hoster/YibaishiwuCom.py index 09e77b3a2..c015a596b 100644 --- a/module/plugins/hoster/YibaishiwuCom.py +++ b/module/plugins/hoster/YibaishiwuCom.py @@ -14,6 +14,7 @@ class YibaishiwuCom(SimpleHoster): __pattern__ = r'http://(?:www\.)?(?:u\.)?115.com/file/(?P\w+)' __description__ = """115.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/YoupornCom.py b/module/plugins/hoster/YoupornCom.py index b9f9cabd9..692c63286 100644 --- a/module/plugins/hoster/YoupornCom.py +++ b/module/plugins/hoster/YoupornCom.py @@ -13,6 +13,7 @@ class YoupornCom(Hoster): __pattern__ = r'http://(?:www\.)?youporn\.com/watch/.+' __description__ = """Youporn.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("willnix", "willnix@pyload.org")] diff --git a/module/plugins/hoster/YourfilesTo.py b/module/plugins/hoster/YourfilesTo.py index 8b91ebe89..efbb927f0 100644 --- a/module/plugins/hoster/YourfilesTo.py +++ b/module/plugins/hoster/YourfilesTo.py @@ -15,6 +15,7 @@ class YourfilesTo(Hoster): __pattern__ = r'(http://)?(?:www\.)?yourfiles\.(to|biz)/\?d=[a-zA-Z0-9]+' __description__ = """Youfiles.to hoster plugin""" + __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.de"), ("skydancer", "skydancer@hasnomail.de")] diff --git a/module/plugins/hoster/YoutubeCom.py b/module/plugins/hoster/YoutubeCom.py index 90cb88b18..5eacdc738 100644 --- a/module/plugins/hoster/YoutubeCom.py +++ b/module/plugins/hoster/YoutubeCom.py @@ -48,6 +48,7 @@ class YoutubeCom(Hoster): ("3d", "bool", "Prefer 3D", False)] __description__ = """Youtube.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("spoob", "spoob@pyload.org"), ("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/ZDF.py b/module/plugins/hoster/ZDF.py index b28ebba8c..a59812271 100644 --- a/module/plugins/hoster/ZDF.py +++ b/module/plugins/hoster/ZDF.py @@ -16,6 +16,7 @@ class ZDF(Hoster): __pattern__ = r'http://(?:www\.)?zdf\.de/ZDFmediathek/[^0-9]*([0-9]+)[^0-9]*' __description__ = """ZDF.de hoster plugin""" + __license__ = "GPLv3" __authors__ = [] XML_API = "http://www.zdf.de/ZDFmediathek/xmlservice/web/beitragsDetails?id=%i" diff --git a/module/plugins/hoster/ZeveraCom.py b/module/plugins/hoster/ZeveraCom.py index 9be5e9276..5720579bb 100644 --- a/module/plugins/hoster/ZeveraCom.py +++ b/module/plugins/hoster/ZeveraCom.py @@ -11,6 +11,7 @@ class ZeveraCom(Hoster): __pattern__ = r'http://(?:www\.)?zevera\.com/.*' __description__ = """Zevera.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py index 1637053db..24e5bf68c 100644 --- a/module/plugins/hoster/ZippyshareCom.py +++ b/module/plugins/hoster/ZippyshareCom.py @@ -16,6 +16,7 @@ class ZippyshareCom(SimpleHoster): __pattern__ = r'(?Phttp://www\d{0,2}\.zippyshare\.com)/v(?:/|iew\.jsp.*key=)(?P\d+)' __description__ = """Zippyshare.com hoster plugin""" + __license__ = "GPLv3" __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] -- cgit v1.2.3 From 332c248d0860c8c09d804055b6491dfbb654c8d3 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 8 Oct 2014 20:25:22 +0200 Subject: Newline cosmetics --- module/plugins/hoster/Ftp.py | 2 ++ module/plugins/hoster/MyfastfileCom.py | 2 ++ 2 files changed, 4 insertions(+) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py index c880302f4..b255de66b 100644 --- a/module/plugins/hoster/Ftp.py +++ b/module/plugins/hoster/Ftp.py @@ -13,7 +13,9 @@ class Ftp(Hoster): __name__ = "Ftp" __type__ = "hoster" __version__ = "0.42" + __pattern__ = r'(ftps?|sftp)://(.*?:.*?@)?.*?/.*' # ftp://user:password@ftp.server.org/path/to/file + __description__ = """Download from ftp directory""" __license__ = "GPLv3" __authors__ = [("jeix", "jeix@hasnomail.com"), diff --git a/module/plugins/hoster/MyfastfileCom.py b/module/plugins/hoster/MyfastfileCom.py index 02b91f599..466bb95e8 100644 --- a/module/plugins/hoster/MyfastfileCom.py +++ b/module/plugins/hoster/MyfastfileCom.py @@ -10,7 +10,9 @@ class MyfastfileCom(Hoster): __name__ = "MyfastfileCom" __type__ = "hoster" __version__ = "0.04" + __pattern__ = r'http://(?:www\.)?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/dl/' + __description__ = """Myfastfile.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] -- cgit v1.2.3 From 6632ded30de12bc16644b26de2605ec6b3bdd42a Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Thu, 9 Oct 2014 13:12:12 +0200 Subject: ShareRapidCom -> MegaRapidCz --- module/plugins/hoster/MegaRapidCz.py | 70 ++++++++++++++++++++++++++++++++++ module/plugins/hoster/ShareRapidCom.py | 70 ---------------------------------- 2 files changed, 70 insertions(+), 70 deletions(-) create mode 100644 module/plugins/hoster/MegaRapidCz.py delete mode 100644 module/plugins/hoster/ShareRapidCom.py (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/MegaRapidCz.py b/module/plugins/hoster/MegaRapidCz.py new file mode 100644 index 000000000..d36db5e7c --- /dev/null +++ b/module/plugins/hoster/MegaRapidCz.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- + +import re + +from pycurl import HTTPHEADER + +from module.network.RequestFactory import getRequest +from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo + + +def getInfo(urls): + h = getRequest() + h.c.setopt(HTTPHEADER, + ["Accept: text/html", + "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"]) + for url in urls: + html = h.load(url, decode=True) + file_info = parseFileInfo(MegaRapidCz, url, html) + yield file_info + + +class MegaRapidCz(SimpleHoster): + __name__ = "MegaRapidCz" + __type__ = "hoster" + __version__ = "0.54" + + __pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/soubor/\d+/.+' + + __description__ = """MegaRapid.cz hoster plugin""" + __license__ = "GPLv3" + __authors__ = [("MikyWoW", "mikywow@seznam.cz"), + ("zoidberg", "zoidberg@mujmail.cz"), + ("stickell", "l.stickell@yahoo.it"), + ("Walter Purcaro", "vuolter@gmail.com")] + + + FILE_NAME_PATTERN = r']*>]*>(?:]*>)?(?P[^<]+)' + FILE_SIZE_PATTERN = r'Velikost:\s*\s*(?P[0-9.]+) (?P[kKMG])i?B' + OFFLINE_PATTERN = ur'Nastala chyba 404|Soubor byl smazán' + + FORCE_CHECK_TRAFFIC = True + + LINK_PATTERN = r'([^<]+)' + ERR_LOGIN_PATTERN = ur'
Stahování je přístupné pouze přihlášeným uživatelům' + ERR_CREDIT_PATTERN = ur'
Stahování zdarma je možné jen přes náš' + + + def setup(self): + self.chunkLimit = 1 + + def handlePremium(self): + try: + self.html = self.load(self.pyfile.url, decode=True) + except BadHeader, e: + self.account.relogin(self.user) + self.retry(max_tries=3, reason=str(e)) + + m = re.search(self.LINK_PATTERN, self.html) + if m: + link = m.group(1) + self.logDebug("Premium link: %s" % link) + self.download(link, disposition=True) + else: + if re.search(self.ERR_LOGIN_PATTERN, self.html): + self.relogin(self.user) + self.retry(max_tries=3, reason="User login failed") + elif re.search(self.ERR_CREDIT_PATTERN, self.html): + self.fail("Not enough credit left") + else: + self.fail("Download link not found") diff --git a/module/plugins/hoster/ShareRapidCom.py b/module/plugins/hoster/ShareRapidCom.py deleted file mode 100644 index 9b80a9914..000000000 --- a/module/plugins/hoster/ShareRapidCom.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- coding: utf-8 -*- - -import re - -from pycurl import HTTPHEADER - -from module.network.RequestFactory import getRequest -from module.plugins.internal.SimpleHoster import SimpleHoster, parseFileInfo - - -def getInfo(urls): - h = getRequest() - h.c.setopt(HTTPHEADER, - ["Accept: text/html", - "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"]) - for url in urls: - html = h.load(url, decode=True) - file_info = parseFileInfo(ShareRapidCom, url, html) - yield file_info - - -class ShareRapidCom(SimpleHoster): - __name__ = "ShareRapidCom" - __type__ = "hoster" - __version__ = "0.54" - - __pattern__ = r'http://(?:www\.)?(share|mega)rapid\.cz/soubor/\d+/.+' - - __description__ = """MegaRapid.cz hoster plugin""" - __license__ = "GPLv3" - __authors__ = [("MikyWoW", "mikywow@seznam.cz"), - ("zoidberg", "zoidberg@mujmail.cz"), - ("stickell", "l.stickell@yahoo.it"), - ("Walter Purcaro", "vuolter@gmail.com")] - - - FILE_NAME_PATTERN = r']*>]*>(?:]*>)?(?P[^<]+)' - FILE_SIZE_PATTERN = r'Velikost:\s*\s*(?P[0-9.]+) (?P[kKMG])i?B' - OFFLINE_PATTERN = ur'Nastala chyba 404|Soubor byl smazán' - - FORCE_CHECK_TRAFFIC = True - - LINK_PATTERN = r'([^<]+)' - ERR_LOGIN_PATTERN = ur'
Stahování je přístupné pouze přihlášeným uživatelům' - ERR_CREDIT_PATTERN = ur'
Stahování zdarma je možné jen přes náš' - - - def setup(self): - self.chunkLimit = 1 - - def handlePremium(self): - try: - self.html = self.load(self.pyfile.url, decode=True) - except BadHeader, e: - self.account.relogin(self.user) - self.retry(max_tries=3, reason=str(e)) - - m = re.search(self.LINK_PATTERN, self.html) - if m: - link = m.group(1) - self.logDebug("Premium link: %s" % link) - self.download(link, disposition=True) - else: - if re.search(self.ERR_LOGIN_PATTERN, self.html): - self.relogin(self.user) - self.retry(max_tries=3, reason="User login failed") - elif re.search(self.ERR_CREDIT_PATTERN, self.html): - self.fail("Not enough credit left") - else: - self.fail("Download link not found") -- cgit v1.2.3 From 9a58e0d535cf8144c6da4cc86825779420137aca Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 10 Oct 2014 14:16:56 +0200 Subject: [EasybytezCom] Update LINK_PATTERN --- module/plugins/hoster/EasybytezCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/EasybytezCom.py b/module/plugins/hoster/EasybytezCom.py index 1f5682310..df866de52 100644 --- a/module/plugins/hoster/EasybytezCom.py +++ b/module/plugins/hoster/EasybytezCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class EasybytezCom(XFSPHoster): __name__ = "EasybytezCom" __type__ = "hoster" - __version__ = "0.20" + __version__ = "0.21" __pattern__ = r'http://(?:www\.)?easybytez\.com/\w{12}' @@ -21,7 +21,7 @@ class EasybytezCom(XFSPHoster): FILE_INFO_PATTERN = r'(?P.+)
\s*(?P[^<]+)' OFFLINE_PATTERN = r'>File not available' - LINK_PATTERN = r'(http://(\w+\.(easyload|easybytez|zingload)\.(com|to)|\d+\.\d+\.\d+\.\d+)/files/\d+/\w+/[^"<]+)' + LINK_PATTERN = r'(http://(\w+\.(easybytez|easyload|ezbytez|zingload)\.(com|to)|\d+\.\d+\.\d+\.\d+)/files/\d+/\w+/.+?)["\'<]' OVR_LINK_PATTERN = r'

Download Link

\s*]*>([^<]+)' ERROR_PATTERN = r'(?:class=["\']err["\'][^>]*>|
)(.*?) Date: Fri, 10 Oct 2014 14:41:06 +0200 Subject: [FiredriveCom][SockshareCom] Mark dead --- module/plugins/hoster/FiredriveCom.py | 40 ++---------------- module/plugins/hoster/SockshareCom.py | 77 ++--------------------------------- 2 files changed, 6 insertions(+), 111 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/FiredriveCom.py b/module/plugins/hoster/FiredriveCom.py index b68868a66..66a67ffff 100644 --- a/module/plugins/hoster/FiredriveCom.py +++ b/module/plugins/hoster/FiredriveCom.py @@ -1,14 +1,12 @@ # -*- coding: utf-8 -*- -import re +from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo -from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo - -class FiredriveCom(SimpleHoster): +class FiredriveCom(DeadHoster): __name__ = "FiredriveCom" __type__ = "hoster" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/(mobile/)?(file|embed)/(?P\w+)' @@ -17,36 +15,4 @@ class FiredriveCom(SimpleHoster): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - FILE_NAME_PATTERN = r'Name: (?P.+)
' - FILE_SIZE_PATTERN = r'Size: (?P[\d.]+) (?P[a-zA-Z]+)
' - OFFLINE_PATTERN = r'class="sad_face_image"|>No such page here.<' - TEMP_OFFLINE_PATTERN = r'Please try again in a few minutes.<' - - FILE_URL_REPLACEMENTS = [(__pattern__, r'http://www.firedrive.com/file/\g')] - - LINK_PATTERN = r'\w+)' @@ -22,70 +17,4 @@ class SockshareCom(SimpleHoster): ("Walter Purcaro", "vuolter@gmail.com")] - FILE_INFO_PATTERN = r'site-content">\s*

(?P.+)\( (?P[^)]+) \)

' - OFFLINE_PATTERN = r'>This file doesn\'t exist, or has been removed.<' - TEMP_OFFLINE_PATTERN = r'(>This content server has been temporarily disabled for upgrades|Try again soon\\. You can still download it below\\.<)' - - FILE_URL_REPLACEMENTS = [(__pattern__, r'http://www.sockshare.com/file/\g')] - - - def setup(self): - self.multiDL = self.resumeDownload = True - self.chunkLimit = -1 - - def handleFree(self): - name = self.pyfile.name - link = self._getLink() - self.logDebug("Direct link: " + link) - self.download(link, disposition=True) - self.processName(name) - - def _getLink(self): - hash_data = re.search(r'', self.html) - if not hash_data: - self.parseError("Unable to detect hash") - - post_data = {"hash": hash_data.group(1), "confirm": "Continue+as+Free+User"} - self.html = self.load(self.pyfile.url, post=post_data) - if ">You have exceeded the daily stream limit for your country\\. You can wait until tomorrow" in self.html: - self.logWarning("You have exceeded your daily stream limit for today") - self.wait(secondsToMidnight(gmt=2), True) - elif re.search(self.TEMP_OFFLINE_PATTERN, self.html): - self.retry(wait_time=2 * 60 * 60, reason="Server temporarily offline") # 2 hours wait - - patterns = (r'(/get_file\.php\?id=[A-Z0-9]+&key=[a-zA-Z0-9=]+&original=1)', - r'(/get_file\.php\?download=[A-Z0-9]+&key=[a-z0-9]+)', - r'(/get_file\.php\?download=[A-Z0-9]+&key=[a-z0-9]+&original=1)', - r'
Tired of ads and waiting\? Go Pro![\t\n\rn ]+
[\t\n\rn ]+ Date: Fri, 10 Oct 2014 19:30:04 +0200 Subject: Update OverLoadMe.py --- module/plugins/hoster/OverLoadMe.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/OverLoadMe.py b/module/plugins/hoster/OverLoadMe.py index f1f5d55e4..5c3a36318 100644 --- a/module/plugins/hoster/OverLoadMe.py +++ b/module/plugins/hoster/OverLoadMe.py @@ -13,7 +13,7 @@ from module.utils import parseFileSize class OverLoadMe(Hoster): __name__ = "OverLoadMe" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'https?://.*overload\.me.*' @@ -51,7 +51,7 @@ class OverLoadMe(Hoster): self.logDebug("Returned Data: %s" % data) - if data['err'] == 1: + if data['error'] == 1: self.logWarning(data['msg']) self.tempOffline() else: -- cgit v1.2.3 From ee5f77de01779850b61561be2f6146e7cdc148ae Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 11 Oct 2014 13:52:11 +0200 Subject: [CatShareNet] Account support --- module/plugins/hoster/CatShareNet.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/CatShareNet.py b/module/plugins/hoster/CatShareNet.py index c50632ac3..0993c69e6 100644 --- a/module/plugins/hoster/CatShareNet.py +++ b/module/plugins/hoster/CatShareNet.py @@ -9,7 +9,7 @@ from module.plugins.internal.CaptchaService import ReCaptcha class CatShareNet(SimpleHoster): __name__ = "CatShareNet" __type__ = "hoster" - __version__ = "0.06" + __version__ = "0.07" __pattern__ = r'http://(?:www\.)?catshare\.net/\w{16}' @@ -23,9 +23,9 @@ class CatShareNet(SimpleHoster): TEXT_ENCODING = True FILE_INFO_PATTERN = r'(?P<N>.+) \((?P<S>[\d.]+) (?P<U>\w+)\)<' - OFFLINE_PATTERN = r'Podany plik został usunięty\s*</div>' + OFFLINE_PATTERN = ur'Podany plik został usunięty\s*</div>' - IP_BLOCKED_PATTERN = r'>Nasz serwis wykrył że Twój adres IP nie pochodzi z Polski.<' + IP_BLOCKED_PATTERN = ur'>Nasz serwis wykrył że Twój adres IP nie pochodzi z Polski.<' SECONDS_PATTERN = 'var\scount\s=\s(\d+);' LINK_PATTERN = r'<form action="(.+?)" method="GET">' -- cgit v1.2.3 From e600362d2450ef13567b255004861bead011e0ef Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 11 Oct 2014 15:03:26 +0200 Subject: [FileshareInUa] Mark dead --- module/plugins/hoster/FileshareInUa.py | 76 +++------------------------------- 1 file changed, 5 insertions(+), 71 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/FileshareInUa.py b/module/plugins/hoster/FileshareInUa.py index d6ccc9e3e..3f8c3d4d4 100644 --- a/module/plugins/hoster/FileshareInUa.py +++ b/module/plugins/hoster/FileshareInUa.py @@ -1,84 +1,18 @@ # -*- coding: utf-8 -*- -import re +from module.plugins.internal.DeadHoster import DeadHoster, create_getInfo -from module.network.RequestFactory import getURL -from module.plugins.Hoster import Hoster -from module.utils import parseFileSize - -class FileshareInUa(Hoster): +class FileshareInUa(DeadHoster): __name__ = "FileshareInUa" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?fileshare.in.ua/[A-Za-z0-9]+' + __pattern__ = r'https?://(?:www\.)?fileshare\.in\.ua/\w{7}' __description__ = """Fileshare.in.ua hoster plugin""" __license__ = "GPLv3" __authors__ = [("fwannmacher", "felipe@warhammerproject.com")] - PATTERN_FILENAME = r'<h3 class="b-filename">(.*?)</h3>' - PATTERN_FILESIZE = r'<b class="b-filesize">(.*?)</b>' - PATTERN_OFFLINE = r"This file doesn't exist, or has been removed." - - - def setup(self): - self.resumeDownload = self.multiDL = True - - def process(self, pyfile): - self.pyfile = pyfile - self.html = self.load(pyfile.url, decode=True) - - if not self._checkOnline(): - self.offline() - - pyfile.name = self._getName() - - link = self._getLink() - - if not link.startswith('http://'): - link = "http://fileshare.in.ua" + link - - self.download(link) - - def _checkOnline(self): - if re.search(self.PATTERN_OFFLINE, self.html): - return False - else: - return True - - def _getName(self): - name = re.search(self.PATTERN_FILENAME, self.html) - if name is None: - self.fail("%s: Plugin broken." % self.__name__) - - return name.group(1) - - def _getLink(self): - return re.search("<a href=\"(/get/.+)\" class=\"b-button m-blue m-big\" >", self.html).group(1) - - -def getInfo(urls): - result = [] - - for url in urls: - html = getURL(url) - - if re.search(FileshareInUa.PATTERN_OFFLINE, html): - result.append((url, 0, 1, url)) - else: - name = re.search(FileshareInUa.PATTERN_FILENAME, html) - - if name is None: - result.append((url, 0, 1, url)) - continue - - name = name.group(1) - size = re.search(FileshareInUa.PATTERN_FILESIZE, html) - size = parseFileSize(size.group(1)) - - result.append((name, size, 3, url)) - - yield result +getInfo = create_getInfo(FileshareInUa) -- cgit v1.2.3 From f76e5c2336718dca9da8033ba22cd83c72c7b3b3 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 11 Oct 2014 15:14:28 +0200 Subject: Pattern update 1 --- module/plugins/hoster/BayfilesCom.py | 6 +++--- module/plugins/hoster/BitshareCom.py | 2 +- module/plugins/hoster/CzshareCom.py | 4 ++-- module/plugins/hoster/DepositfilesCom.py | 2 +- module/plugins/hoster/DlFreeFr.py | 4 ++-- module/plugins/hoster/EdiskCz.py | 2 +- module/plugins/hoster/ExtabitCom.py | 2 +- module/plugins/hoster/FastixRu.py | 2 +- module/plugins/hoster/FileParadoxIn.py | 1 - module/plugins/hoster/FileStoreTo.py | 2 +- module/plugins/hoster/FilefactoryCom.py | 2 +- module/plugins/hoster/FileomCom.py | 2 +- module/plugins/hoster/FilepostCom.py | 2 +- module/plugins/hoster/FourSharedCom.py | 2 +- module/plugins/hoster/FreakshareCom.py | 4 ++-- module/plugins/hoster/FshareVn.py | 2 +- module/plugins/hoster/GamefrontCom.py | 6 +++--- module/plugins/hoster/HellshareCz.py | 2 +- module/plugins/hoster/HundredEightyUploadCom.py | 2 +- module/plugins/hoster/IfileIt.py | 2 +- module/plugins/hoster/JumbofilesCom.py | 2 +- module/plugins/hoster/MegaNz.py | 2 +- module/plugins/hoster/MegaRapidCz.py | 2 +- module/plugins/hoster/MegacrypterCom.py | 2 +- module/plugins/hoster/MegasharesCom.py | 2 +- module/plugins/hoster/NarodRu.py | 4 ++-- module/plugins/hoster/NosuploadCom.py | 2 +- module/plugins/hoster/NowDownloadEu.py | 8 ++++---- module/plugins/hoster/PornhostCom.py | 8 ++++---- module/plugins/hoster/PornhubCom.py | 2 +- module/plugins/hoster/QuickshareCz.py | 4 ++-- module/plugins/hoster/RapidgatorNet.py | 2 +- module/plugins/hoster/RapidshareCom.py | 2 +- module/plugins/hoster/RyushareCom.py | 2 +- module/plugins/hoster/SendspaceCom.py | 2 +- module/plugins/hoster/ShareplaceCom.py | 2 +- module/plugins/hoster/SoundcloudCom.py | 2 +- module/plugins/hoster/TurbobitNet.py | 2 +- module/plugins/hoster/TwoSharedCom.py | 2 +- module/plugins/hoster/UlozTo.py | 4 ++-- module/plugins/hoster/UloziskoSk.py | 2 +- module/plugins/hoster/UnibytesCom.py | 2 +- module/plugins/hoster/UploadStationCom.py | 2 +- module/plugins/hoster/UploadheroCom.py | 4 ++-- module/plugins/hoster/UploadingCom.py | 2 +- module/plugins/hoster/VeehdCom.py | 4 ++-- module/plugins/hoster/VidPlayNet.py | 1 - module/plugins/hoster/WrzucTo.py | 2 +- module/plugins/hoster/WuploadCom.py | 2 +- module/plugins/hoster/XVideosCom.py | 2 +- module/plugins/hoster/YourfilesTo.py | 2 +- module/plugins/hoster/ZDF.py | 4 ++-- 52 files changed, 69 insertions(+), 71 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/BayfilesCom.py b/module/plugins/hoster/BayfilesCom.py index 3d4306df5..98c5d27ba 100644 --- a/module/plugins/hoster/BayfilesCom.py +++ b/module/plugins/hoster/BayfilesCom.py @@ -13,7 +13,7 @@ class BayfilesCom(SimpleHoster): __type__ = "hoster" __version__ = "0.07" - __pattern__ = r'https?://(?:www\.)?bayfiles\.(com|net)/file/(?P<ID>[a-zA-Z0-9]+/[a-zA-Z0-9]+/[^/]+)' + __pattern__ = r'https?://(?:www\.)?bayfiles\.(com|net)/file/(?P<ID>\w+/\w+/[^/]+)' __description__ = """Bayfiles.com hoster plugin""" __license__ = "GPLv3" @@ -21,10 +21,10 @@ class BayfilesCom(SimpleHoster): ("Walter Purcaro", "vuolter@gmail.com")] - FILE_INFO_PATTERN = r'<p title="(?P<N>[^"]+)">[^<]*<strong>(?P<S>[0-9., ]+)(?P<U>[kKMG])i?B</strong></p>' + FILE_INFO_PATTERN = r'<p title="(?P<N>[^"]+)">[^<]*<strong>(?P<S>[\d .,]+)(?P<U>\w+)</strong></p>' OFFLINE_PATTERN = r'(<p>The requested file could not be found.</p>|<title>404 Not Found)' - WAIT_PATTERN = r'>Your IP [0-9.]* has recently downloaded a file\. Upgrade to premium or wait (\d+) minutes\.<' + WAIT_PATTERN = r'>Your IP [\d.]* has recently downloaded a file\. Upgrade to premium or wait (\d+) minutes\.<' VARS_PATTERN = r'var vfid = (\d+);\s*var delay = (\d+);' FREE_LINK_PATTERN = r"javascript:window.location.href = '([^']+)';" PREMIUM_LINK_PATTERN = r'(?:[a-zA-Z0-9]+)(/(?P.*?)\.html)?|\?f=(?P[a-zA-Z0-9]+))' + __pattern__ = r'http://(?:www\.)?bitshare\.com/(files/(?P\w+)(/(?P.*?)\.html)?|\?f=(?P\w+))' __description__ = """Bitshare.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index 9e965b972..0ec60b5d1 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -22,7 +22,7 @@ class CzshareCom(SimpleHoster): FILE_NAME_PATTERN = r'
\s*

\s*Cel. n.zev: ]*>(?P[^<]+)' - FILE_SIZE_PATTERN = r'

(?:\s*

[^\n]*

)*\s*Velikost:\s*(?P[0-9., ]+)(?P[kKMG])i?B\s*
' + FILE_SIZE_PATTERN = r'
(?:\s*

[^\n]*

)*\s*Velikost:\s*(?P[\d .,]+)(?P\w+)\s*
' OFFLINE_PATTERN = r'
\s*

' FILE_SIZE_REPLACEMENTS = [(' ', '')] @@ -35,7 +35,7 @@ class CzshareCom(SimpleHoster): PREMIUM_FORM_PATTERN = r'
(.*?)
' FORM_INPUT_PATTERN = r']* name="([^"]+)" value="([^"]+)"[^>]*/>' MULTIDL_PATTERN = r"

Z[^<]*PROFI.

" - USER_CREDIT_PATTERN = r'
\s*kredit: ([0-9., ]+)([kKMG]i?B)\s*
' + USER_CREDIT_PATTERN = r'
\s*kredit: ([\d .,]+)(\w+)\s*
' def checkTrafficLeft(self): diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index 54ceabb6c..67b00342e 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -23,7 +23,7 @@ class DepositfilesCom(SimpleHoster): FILE_NAME_PATTERN = r'' @@ -29,7 +29,7 @@ class QuickshareCz(SimpleHoster): self.getFileInfo() # parse js variables - self.jsvars = dict((x, y.strip("'")) for x, y in re.findall(r"var (\w+) = ([0-9.]+|'[^']*')", self.html)) + self.jsvars = dict((x, y.strip("'")) for x, y in re.findall(r"var (\w+) = ([\d.]+|'[^']*')", self.html)) self.logDebug(self.jsvars) pyfile.name = self.jsvars['ID3'] diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 0223af3c1..f1d59efea 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -29,7 +29,7 @@ class RapidgatorNet(SimpleHoster): API_URL = "http://rapidgator.net/api/file" FILE_NAME_PATTERN = r'Download file (?P<N>.*)' - FILE_SIZE_PATTERN = r'File size:\s*(?P[\d\.]+) (?P\w+)' + FILE_SIZE_PATTERN = r'File size:\s*(?P[\d.]+) (?P\w+)' OFFLINE_PATTERN = r'>(File not found|Error 404)' JSVARS_PATTERN = r"\s+var\s*(startTimerUrl|getDownloadUrl|captchaUrl|fid|secs)\s*=\s*'?(.*?)'?;" diff --git a/module/plugins/hoster/RapidshareCom.py b/module/plugins/hoster/RapidshareCom.py index 22887e7cc..88154b5e9 100644 --- a/module/plugins/hoster/RapidshareCom.py +++ b/module/plugins/hoster/RapidshareCom.py @@ -46,7 +46,7 @@ class RapidshareCom(Hoster): __type__ = "hoster" __version__ = "1.39" - __pattern__ = r'https?://(?:www\.)?rapidshare.com/(?:files/(?P\d*?)/(?P[^?]+)|#!download\|(?:\w+)\|(?P\d+)\|(?P[^|]+))' + __pattern__ = r'https?://(?:www\.)?rapidshare.com/(?:files/(?P\d+)/(?P[^?]+)|#!download\|(?:\w+)\|(?P\d+)\|(?P[^|]+))' __config__ = [("server", "Cogent;Deutsche Telekom;Level(3);Level(3) #2;GlobalCrossing;Level(3) #3;Teleglobe;GlobalCrossing #2;TeliaSonera #2;Teleglobe #2;TeliaSonera #3;TeliaSonera", "Preferred Server", "None")] diff --git a/module/plugins/hoster/RyushareCom.py b/module/plugins/hoster/RyushareCom.py index 833577c1a..4a5811581 100644 --- a/module/plugins/hoster/RyushareCom.py +++ b/module/plugins/hoster/RyushareCom.py @@ -25,7 +25,7 @@ class RyushareCom(XFSPHoster): HOSTER_NAME = "ryushare.com" - FILE_SIZE_PATTERN = r'You have requested [^<]+ \((?P[\d\.]+) (?P\w+)' + FILE_SIZE_PATTERN = r'You have requested [^<]+ \((?P[\d.]+) (?P\w+)' WAIT_PATTERN = r'You have to wait ((?P\d+) hour[s]?, )?((?P\d+) minute[s], )?(?P\d+) second[s]' LINK_PATTERN = r'Click here to download<' diff --git a/module/plugins/hoster/SendspaceCom.py b/module/plugins/hoster/SendspaceCom.py index b9907794d..834eff1a9 100644 --- a/module/plugins/hoster/SendspaceCom.py +++ b/module/plugins/hoster/SendspaceCom.py @@ -18,7 +18,7 @@ class SendspaceCom(SimpleHoster): FILE_NAME_PATTERN = r'

\s*<(?:b|strong)>(?P[^<]+)\s*File Size:\s*(?P[0-9.]+)(?P[kKMG])i?B\s*

' + FILE_SIZE_PATTERN = r'
\s*File Size:\s*(?P[\d.]+)(?P\w+)\s*
' OFFLINE_PATTERN = r'
Sorry, the file you requested is not available.
' LINK_PATTERN = r'
(?P.+?)<' - FILE_SIZE_PATTERN = r'class="file-size">(?P[\d,.]+) (?P\w+)' + FILE_SIZE_PATTERN = r'class="file-size">(?P[\d.,]+) (?P\w+)' OFFLINE_PATTERN = r'

File Not Found

|html\(\'File (?:was )?not found' FILE_URL_REPLACEMENTS = [(__pattern__, "http://turbobit.net/\g.html")] diff --git a/module/plugins/hoster/TwoSharedCom.py b/module/plugins/hoster/TwoSharedCom.py index 4bef13a67..44c927f4b 100644 --- a/module/plugins/hoster/TwoSharedCom.py +++ b/module/plugins/hoster/TwoSharedCom.py @@ -18,7 +18,7 @@ class TwoSharedCom(SimpleHoster): FILE_NAME_PATTERN = r'

(?P.*)

' - FILE_SIZE_PATTERN = r'File size:\s*(?P[0-9,.]+) (?P[kKMG])i?B' + FILE_SIZE_PATTERN = r'File size:\s*(?P[\d.,]+) (?P\w+)' OFFLINE_PATTERN = r'The file link that you requested is not valid\.|This file was deleted\.' LINK_PATTERN = r"window.location ='([^']+)';" diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py index cf92560bc..9b6842ae7 100644 --- a/module/plugins/hoster/UlozTo.py +++ b/module/plugins/hoster/UlozTo.py @@ -26,10 +26,10 @@ class UlozTo(SimpleHoster): FILE_INFO_PATTERN = r'

File (?P[^<]+) is password protected

' FILE_NAME_PATTERN = r'(?P<N>[^<]+) \| Uloz.to' - FILE_SIZE_PATTERN = r'.*?(?P[0-9.]+\s[kMG]?B)' + FILE_SIZE_PATTERN = r'.*?(?P[\d.]+\s[kMG]?B)' OFFLINE_PATTERN = r'404 - Page not found|

File (has been deleted|was banned)

' - FILE_SIZE_REPLACEMENTS = [('([0-9.]+)\s([kMG])B', convertDecimalPrefix)] + FILE_SIZE_REPLACEMENTS = [('([\d.]+)\s([kMG])B', convertDecimalPrefix)] FILE_URL_REPLACEMENTS = [(r"(?<=http://)([^/]+)", "www.ulozto.net")] ADULT_PATTERN = r'
' diff --git a/module/plugins/hoster/UloziskoSk.py b/module/plugins/hoster/UloziskoSk.py index 1ce7c8879..536830bd9 100644 --- a/module/plugins/hoster/UloziskoSk.py +++ b/module/plugins/hoster/UloziskoSk.py @@ -18,7 +18,7 @@ class UloziskoSk(SimpleHoster): FILE_NAME_PATTERN = r'
(?P[^<]+)
' - FILE_SIZE_PATTERN = ur'Veľkosť súboru: (?P[0-9.]+) (?P[kKMG])i?B
' + FILE_SIZE_PATTERN = ur'Veľkosť súboru: (?P[\d.]+) (?P\w+)
' OFFLINE_PATTERN = ur'Zadaný súbor neexistuje z jedného z nasledujúcich dôvodov:' LINK_PATTERN = r'' diff --git a/module/plugins/hoster/UnibytesCom.py b/module/plugins/hoster/UnibytesCom.py index ec6df395c..8e732d1fd 100644 --- a/module/plugins/hoster/UnibytesCom.py +++ b/module/plugins/hoster/UnibytesCom.py @@ -12,7 +12,7 @@ class UnibytesCom(SimpleHoster): __type__ = "hoster" __version__ = "0.1" - __pattern__ = r'http://(?:www\.)?unibytes\.com/[a-zA-Z0-9-._ ]{11}B' + __pattern__ = r'http://(?:www\.)?unibytes\.com/[\w .-]{11}B' __description__ = """UniBytes.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/UploadStationCom.py b/module/plugins/hoster/UploadStationCom.py index 7b3f4d55e..c8b0ca361 100644 --- a/module/plugins/hoster/UploadStationCom.py +++ b/module/plugins/hoster/UploadStationCom.py @@ -8,7 +8,7 @@ class UploadStationCom(DeadHoster): __type__ = "hoster" __version__ = "0.52" - __pattern__ = r'http://(?:www\.)?uploadstation\.com/file/(?P[A-Za-z0-9]+)' + __pattern__ = r'http://(?:www\.)?uploadstation\.com/file/(?P\w+)' __description__ = """UploadStation.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/UploadheroCom.py b/module/plugins/hoster/UploadheroCom.py index d22280102..ced5762ba 100644 --- a/module/plugins/hoster/UploadheroCom.py +++ b/module/plugins/hoster/UploadheroCom.py @@ -30,8 +30,8 @@ class UploadheroCom(SimpleHoster): IP_BLOCKED_PATTERN = r'href="(/lightbox_block_download.php\?min=.*?)"' IP_WAIT_PATTERN = r'(\d+).*\s*(\d+)' - CAPTCHA_PATTERN = r'"(/captchadl\.php\?[a-z0-9]+)"' - FREE_URL_PATTERN = r'var magicomfg = \'
"/]+)"' + CAPTCHA_PATTERN = r'"(/captchadl\.php\?\w+)"' + FREE_URL_PATTERN = r'var magicomfg = \'"/]+)"' PREMIUM_URL_PATTERN = r'[\w\d]+)' + __pattern__ = r'http://(?:www\.)?uploading\.com/files/(?:get/)?(?P\w+)' __description__ = """Uploading.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/VeehdCom.py b/module/plugins/hoster/VeehdCom.py index 50d24f4c9..f82d429d1 100644 --- a/module/plugins/hoster/VeehdCom.py +++ b/module/plugins/hoster/VeehdCom.py @@ -59,9 +59,9 @@ class VeehdCom(Hoster): # replace unwanted characters in filename if self.getConfig('filename_spaces'): - pattern = '[^0-9A-Za-z\.\ ]+' + pattern = '[^\w ]+' else: - pattern = '[^0-9A-Za-z\.]+' + pattern = '[^\w.]+' return re.sub(pattern, self.getConfig('replacement_char'), name) + '.avi' diff --git a/module/plugins/hoster/VidPlayNet.py b/module/plugins/hoster/VidPlayNet.py index 95ed386d7..6ac43ef6e 100644 --- a/module/plugins/hoster/VidPlayNet.py +++ b/module/plugins/hoster/VidPlayNet.py @@ -21,7 +21,6 @@ class VidPlayNet(XFSPHoster): HOSTER_NAME = "vidplay.net" FILE_NAME_PATTERN = r'Password:
\s*(?P[^<]+)' - LINK_PATTERN = r'(http://([^/]*?%s|\d+\.\d+\.\d+\.\d+)(:\d+)?(/d/|(?:/files)?/\d+/\w+/)[^"\'<&]+)' % HOSTER_NAME getInfo = create_getInfo(VidPlayNet) diff --git a/module/plugins/hoster/WrzucTo.py b/module/plugins/hoster/WrzucTo.py index 0a5d9bfb4..0076635e2 100644 --- a/module/plugins/hoster/WrzucTo.py +++ b/module/plugins/hoster/WrzucTo.py @@ -12,7 +12,7 @@ class WrzucTo(SimpleHoster): __type__ = "hoster" __version__ = "0.01" - __pattern__ = r'http://(?:www\.)?wrzuc\.to/([a-zA-Z0-9]+(\.wt|\.html)|(\w+/?linki/[a-zA-Z0-9]+))' + __pattern__ = r'http://(?:www\.)?wrzuc\.to/(\w+(\.wt|\.html)|(\w+/?linki/\w+))' __description__ = """Wrzuc.to hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/WuploadCom.py b/module/plugins/hoster/WuploadCom.py index 5b4e2318f..ba1356a29 100644 --- a/module/plugins/hoster/WuploadCom.py +++ b/module/plugins/hoster/WuploadCom.py @@ -8,7 +8,7 @@ class WuploadCom(DeadHoster): __type__ = "hoster" __version__ = "0.23" - __pattern__ = r'http://(?:www\.)?wupload\..*?/file/(([a-z][0-9]+/)?[0-9]+)(/.*)?' + __pattern__ = r'http://(?:www\.)?wupload\..*?/file/((\w+/)?\d+)(/.*)?' __description__ = """Wupload.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/XVideosCom.py b/module/plugins/hoster/XVideosCom.py index 6192782c8..a631a4dc3 100644 --- a/module/plugins/hoster/XVideosCom.py +++ b/module/plugins/hoster/XVideosCom.py @@ -12,7 +12,7 @@ class XVideosCom(Hoster): __type__ = "hoster" __version__ = "0.1" - __pattern__ = r'http://(?:www\.)?xvideos\.com/video([0-9]+)/.*' + __pattern__ = r'http://(?:www\.)?xvideos\.com/video(\d+)/.*' __description__ = """XVideos.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/YourfilesTo.py b/module/plugins/hoster/YourfilesTo.py index efbb927f0..4487a728a 100644 --- a/module/plugins/hoster/YourfilesTo.py +++ b/module/plugins/hoster/YourfilesTo.py @@ -12,7 +12,7 @@ class YourfilesTo(Hoster): __type__ = "hoster" __version__ = "0.21" - __pattern__ = r'(http://)?(?:www\.)?yourfiles\.(to|biz)/\?d=[a-zA-Z0-9]+' + __pattern__ = r'(http://)?(?:www\.)?yourfiles\.(to|biz)/\?d=\w+' __description__ = """Youfiles.to hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/ZDF.py b/module/plugins/hoster/ZDF.py index a59812271..83a3bd95c 100644 --- a/module/plugins/hoster/ZDF.py +++ b/module/plugins/hoster/ZDF.py @@ -13,7 +13,7 @@ class ZDF(Hoster): __type__ = "hoster" __version__ = "0.8" - __pattern__ = r'http://(?:www\.)?zdf\.de/ZDFmediathek/[^0-9]*([0-9]+)[^0-9]*' + __pattern__ = r'http://(?:www\.)?zdf\.de/ZDFmediathek/\D*(\d+)\D*' __description__ = """ZDF.de hoster plugin""" __license__ = "GPLv3" @@ -36,7 +36,7 @@ class ZDF(Hoster): @staticmethod def get_id(url): - return int(re.search(r"[^0-9]*([0-9]{4,})[^0-9]*", url).group(1)) + return int(re.search(r"\D*(\d{4,})\D*", url).group(1)) def process(self, pyfile): xml = fromstring(self.load(self.XML_API % self.get_id(pyfile.url))) -- cgit v1.2.3 From c5d1a4fd8943877c6d2eb3843e0de725dba5191e Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 11 Oct 2014 15:09:53 +0200 Subject: Pattern update 2 --- module/plugins/hoster/BezvadataCz.py | 2 +- module/plugins/hoster/BillionuploadsCom.py | 2 +- module/plugins/hoster/BitshareCom.py | 2 +- module/plugins/hoster/BoltsharingCom.py | 2 +- module/plugins/hoster/CatShareNet.py | 2 +- module/plugins/hoster/CramitIn.py | 2 +- module/plugins/hoster/CrockoCom.py | 2 +- module/plugins/hoster/CzshareCom.py | 6 +++--- module/plugins/hoster/DataHu.py | 2 +- module/plugins/hoster/DataportCz.py | 2 +- module/plugins/hoster/DepositfilesCom.py | 2 +- module/plugins/hoster/DevhostSt.py | 2 +- module/plugins/hoster/DlFreeFr.py | 6 +++--- module/plugins/hoster/DropboxCom.py | 2 +- module/plugins/hoster/EdiskCz.py | 6 +++--- module/plugins/hoster/EuroshareEu.py | 2 +- module/plugins/hoster/FilecloudIo.py | 6 +++--- module/plugins/hoster/FilefactoryCom.py | 2 +- module/plugins/hoster/FileomCom.py | 2 +- module/plugins/hoster/FilepostCom.py | 4 ++-- module/plugins/hoster/FilepupNet.py | 2 +- module/plugins/hoster/FileserveCom.py | 4 ++-- module/plugins/hoster/FreeWayMe.py | 2 +- module/plugins/hoster/FshareVn.py | 2 +- module/plugins/hoster/Ftp.py | 2 +- module/plugins/hoster/GamefrontCom.py | 2 +- module/plugins/hoster/HellshareCz.py | 2 +- module/plugins/hoster/HellspyCz.py | 2 +- module/plugins/hoster/HundredEightyUploadCom.py | 2 +- module/plugins/hoster/IfileIt.py | 2 +- module/plugins/hoster/IfolderRu.py | 4 ++-- module/plugins/hoster/JumbofilesCom.py | 4 ++-- module/plugins/hoster/KingfilesNet.py | 2 +- module/plugins/hoster/LetitbitNet.py | 2 +- module/plugins/hoster/LoadTo.py | 2 +- module/plugins/hoster/LomafileCom.py | 2 +- module/plugins/hoster/LuckyShareNet.py | 4 ++-- module/plugins/hoster/MediafireCom.py | 2 +- module/plugins/hoster/MegaDebridEu.py | 2 +- module/plugins/hoster/MegaRapidCz.py | 2 +- module/plugins/hoster/MegasharesCom.py | 4 ++-- module/plugins/hoster/MovReelCom.py | 2 +- module/plugins/hoster/MultishareCz.py | 2 +- module/plugins/hoster/MyvideoDe.py | 2 +- module/plugins/hoster/NetloadIn.py | 2 +- module/plugins/hoster/NosuploadCom.py | 2 +- module/plugins/hoster/PremiumTo.py | 2 +- module/plugins/hoster/PromptfileCom.py | 2 +- module/plugins/hoster/QuickshareCz.py | 6 +++--- module/plugins/hoster/RapidgatorNet.py | 2 +- module/plugins/hoster/RapidshareCom.py | 2 +- module/plugins/hoster/RehostTo.py | 2 +- module/plugins/hoster/RyushareCom.py | 2 +- module/plugins/hoster/SendspaceCom.py | 8 ++++---- module/plugins/hoster/Share76Com.py | 2 +- module/plugins/hoster/SharebeesCom.py | 2 +- module/plugins/hoster/ShareonlineBiz.py | 2 +- module/plugins/hoster/ShragleCom.py | 2 +- module/plugins/hoster/SimplydebridCom.py | 2 +- module/plugins/hoster/SpeedfileCz.py | 2 +- module/plugins/hoster/SpeedyshareCom.py | 2 +- module/plugins/hoster/StreamCz.py | 2 +- module/plugins/hoster/StreamcloudEu.py | 2 +- module/plugins/hoster/TurbouploadCom.py | 2 +- module/plugins/hoster/TusfilesNet.py | 2 +- module/plugins/hoster/TwoSharedCom.py | 2 +- module/plugins/hoster/UlozTo.py | 6 +++--- module/plugins/hoster/UloziskoSk.py | 6 +++--- module/plugins/hoster/UploadheroCom.py | 2 +- module/plugins/hoster/UploadingCom.py | 2 +- module/plugins/hoster/UpstoreNet.py | 2 +- module/plugins/hoster/UptoboxCom.py | 2 +- module/plugins/hoster/WebshareCz.py | 2 +- module/plugins/hoster/X7To.py | 2 +- module/plugins/hoster/YibaishiwuCom.py | 2 +- module/plugins/hoster/ZippyshareCom.py | 2 +- 76 files changed, 99 insertions(+), 99 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/BezvadataCz.py b/module/plugins/hoster/BezvadataCz.py index 8c4e17630..9c1ef3693 100644 --- a/module/plugins/hoster/BezvadataCz.py +++ b/module/plugins/hoster/BezvadataCz.py @@ -10,7 +10,7 @@ class BezvadataCz(SimpleHoster): __type__ = "hoster" __version__ = "0.24" - __pattern__ = r'http://(?:www\.)?bezvadata.cz/stahnout/.*' + __pattern__ = r'http://(?:www\.)?bezvadata\.cz/stahnout/.*' __description__ = """BezvaData.cz hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/BillionuploadsCom.py b/module/plugins/hoster/BillionuploadsCom.py index 3065ef6cd..7024a9472 100644 --- a/module/plugins/hoster/BillionuploadsCom.py +++ b/module/plugins/hoster/BillionuploadsCom.py @@ -18,7 +18,7 @@ class BillionuploadsCom(XFSPHoster): HOSTER_NAME = "billionuploads.com" FILE_NAME_PATTERN = r'(?P[\d.]+) (?P\w+)' + FILE_SIZE_PATTERN = r'(?P[\d.,]+) (?P\w+)' getInfo = create_getInfo(BillionuploadsCom) diff --git a/module/plugins/hoster/BitshareCom.py b/module/plugins/hoster/BitshareCom.py index 1e98a1349..1b70b1710 100644 --- a/module/plugins/hoster/BitshareCom.py +++ b/module/plugins/hoster/BitshareCom.py @@ -21,7 +21,7 @@ class BitshareCom(SimpleHoster): ("fragonib", "fragonib[AT]yahoo[DOT]es")] - FILE_INFO_PATTERN = r'Downloading (?P.+) - (?P[\d.]+) (?P\w+)' + FILE_INFO_PATTERN = r'Downloading (?P.+) - (?P[\d.,]+) (?P\w+)' OFFLINE_PATTERN = r'(>We are sorry, but the requested file was not found in our database|>Error - File not available<|The file was deleted either by the uploader, inactivity or due to copyright claim)' COOKIES = [(".bitshare.com", "language_selection", "EN")] diff --git a/module/plugins/hoster/BoltsharingCom.py b/module/plugins/hoster/BoltsharingCom.py index 8862e38a2..b1ff807fd 100644 --- a/module/plugins/hoster/BoltsharingCom.py +++ b/module/plugins/hoster/BoltsharingCom.py @@ -8,7 +8,7 @@ class BoltsharingCom(DeadHoster): __type__ = "hoster" __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?boltsharing.com/\w{12}' + __pattern__ = r'http://(?:www\.)?boltsharing\.com/\w{12}' __description__ = """Boltsharing.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/CatShareNet.py b/module/plugins/hoster/CatShareNet.py index 0993c69e6..9d680a9ec 100644 --- a/module/plugins/hoster/CatShareNet.py +++ b/module/plugins/hoster/CatShareNet.py @@ -22,7 +22,7 @@ class CatShareNet(SimpleHoster): TEXT_ENCODING = True - FILE_INFO_PATTERN = r'(?P<N>.+) \((?P<S>[\d.]+) (?P<U>\w+)\)<' + FILE_INFO_PATTERN = r'<title>(?P<N>.+) \((?P<S>[\d.,]+) (?P<U>\w+)\)<' OFFLINE_PATTERN = ur'Podany plik został usunięty\s*</div>' IP_BLOCKED_PATTERN = ur'>Nasz serwis wykrył że Twój adres IP nie pochodzi z Polski.<' diff --git a/module/plugins/hoster/CramitIn.py b/module/plugins/hoster/CramitIn.py index 10a9d68c2..c45c91069 100644 --- a/module/plugins/hoster/CramitIn.py +++ b/module/plugins/hoster/CramitIn.py @@ -18,7 +18,7 @@ class CramitIn(XFSPHoster): HOSTER_NAME = "cramit.in" FILE_INFO_PATTERN = r'<span class=t2>\s*(?P<N>.*?)</span>.*?<small>\s*\((?P<S>.*?)\)' - LINK_PATTERN = r'href="(http://cramit.in/file_download/.*?)"' + LINK_PATTERN = r'href="(http://cramit\.in/file_download/.*?)"' getInfo = create_getInfo(CramitIn) diff --git a/module/plugins/hoster/CrockoCom.py b/module/plugins/hoster/CrockoCom.py index bf69dea53..42946fdf8 100644 --- a/module/plugins/hoster/CrockoCom.py +++ b/module/plugins/hoster/CrockoCom.py @@ -11,7 +11,7 @@ class CrockoCom(SimpleHoster): __type__ = "hoster" __version__ = "0.16" - __pattern__ = r'http://(?:www\.)?(crocko|easy-share).com/\w+' + __pattern__ = r'http://(?:www\.)?(crocko|easy-share)\.com/\w+' __description__ = """Crocko hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index 0ec60b5d1..8ca4fd8a5 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -14,7 +14,7 @@ class CzshareCom(SimpleHoster): __type__ = "hoster" __version__ = "0.94" - __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download.php\?).*' + __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download\.php\?).*' __description__ = """CZshare.com hoster plugin, now Sdilej.cz""" __license__ = "GPLv3" @@ -31,8 +31,8 @@ class CzshareCom(SimpleHoster): FORCE_CHECK_TRAFFIC = True FREE_URL_PATTERN = r'<a href="([^"]+)" class="page-download">[^>]*alt="([^"]+)" /></a>' - FREE_FORM_PATTERN = r'<form action="download.php" method="post">\s*<img src="captcha.php" id="captcha" />(.*?)</form>' - PREMIUM_FORM_PATTERN = r'<form action="/profi_down.php" method="post">(.*?)</form>' + FREE_FORM_PATTERN = r'<form action="download\.php" method="post">\s*<img src="captcha\.php" id="captcha" />(.*?)</form>' + PREMIUM_FORM_PATTERN = r'<form action="/profi_down\.php" method="post">(.*?)</form>' FORM_INPUT_PATTERN = r'<input[^>]* name="([^"]+)" value="([^"]+)"[^>]*/>' MULTIDL_PATTERN = r"<p><font color='red'>Z[^<]*PROFI.</font></p>" USER_CREDIT_PATTERN = r'<div class="credit">\s*kredit: <strong>([\d .,]+)(\w+)</strong>\s*</div><!-- .credit -->' diff --git a/module/plugins/hoster/DataHu.py b/module/plugins/hoster/DataHu.py index 691c4ec37..6d286d872 100644 --- a/module/plugins/hoster/DataHu.py +++ b/module/plugins/hoster/DataHu.py @@ -13,7 +13,7 @@ class DataHu(SimpleHoster): __type__ = "hoster" __version__ = "0.01" - __pattern__ = r'http://(?:www\.)?data.hu/get/\w+' + __pattern__ = r'http://(?:www\.)?data\.hu/get/\w+' __description__ = """Data.hu hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/DataportCz.py b/module/plugins/hoster/DataportCz.py index 2d4029734..fe58d7fb7 100644 --- a/module/plugins/hoster/DataportCz.py +++ b/module/plugins/hoster/DataportCz.py @@ -8,7 +8,7 @@ class DataportCz(SimpleHoster): __type__ = "hoster" __version__ = "0.37" - __pattern__ = r'http://(?:www\.)?dataport.cz/file/(.*)' + __pattern__ = r'http://(?:www\.)?dataport\.cz/file/(.*)' __description__ = """Dataport.cz hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index 67b00342e..96540d454 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -23,7 +23,7 @@ class DepositfilesCom(SimpleHoster): FILE_NAME_PATTERN = r'<script type="text/javascript">eval\( unescape\(\'(?P<N>.*?)\'' - FILE_SIZE_PATTERN = r': <b>(?P<S>[\d.]+) (?P<U>\w+)</b>' + FILE_SIZE_PATTERN = r': <b>(?P<S>[\d.,]+) (?P<U>\w+)</b>' OFFLINE_PATTERN = r'<span class="html_download_api-not_exists"></span>' FILE_NAME_REPLACEMENTS = [(r'\%u([0-9A-Fa-f]{4})', lambda m: unichr(int(m.group(1), 16))), diff --git a/module/plugins/hoster/DevhostSt.py b/module/plugins/hoster/DevhostSt.py index 07a94f7ec..9b59ff5df 100644 --- a/module/plugins/hoster/DevhostSt.py +++ b/module/plugins/hoster/DevhostSt.py @@ -21,7 +21,7 @@ class DevhostSt(SimpleHoster): FILE_NAME_PATTERN = r'>Filename:</span> <div title="(?P<N>.+?)"' - FILE_SIZE_PATTERN = r'>Size:</span> (?P<S>[\d.]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'>Size:</span> (?P<S>[\d.,]+) (?P<U>\w+)' OFFLINE_PATTERN = r'>File Not Found<' LINK_PATTERN = r'id="downloadfile" href="(.+?)"' diff --git a/module/plugins/hoster/DlFreeFr.py b/module/plugins/hoster/DlFreeFr.py index b9ef39bb0..85e8e0eb3 100644 --- a/module/plugins/hoster/DlFreeFr.py +++ b/module/plugins/hoster/DlFreeFr.py @@ -36,8 +36,8 @@ class AdYouLike: """ Class to support adyoulike captcha service """ - ADYOULIKE_INPUT_PATTERN = r'Adyoulike.create\((.*?)\);' - ADYOULIKE_CALLBACK = r'Adyoulike.g._jsonp_5579316662423138' + ADYOULIKE_INPUT_PATTERN = r'Adyoulike\.create\((.*?)\);' + ADYOULIKE_CALLBACK = r'Adyoulike\.g\._jsonp_5579316662423138' ADYOULIKE_CHALLENGE_PATTERN = ADYOULIKE_CALLBACK + r'\((.*?)\)' @@ -124,7 +124,7 @@ class DlFreeFr(SimpleHoster): FILE_NAME_PATTERN = r'Fichier:</td>\s*<td[^>]*>(?P<N>[^>]*)</td>' - FILE_SIZE_PATTERN = r'Taille:</td>\s*<td[^>]*>(?P<S>[\d.]+\w)o' + FILE_SIZE_PATTERN = r'Taille:</td>\s*<td[^>]*>(?P<S>[\d.,]+\w)o' OFFLINE_PATTERN = r"Erreur 404 - Document non trouv|Fichier inexistant|Le fichier demandé n'a pas été trouvé" diff --git a/module/plugins/hoster/DropboxCom.py b/module/plugins/hoster/DropboxCom.py index f664e3726..4f9945d91 100644 --- a/module/plugins/hoster/DropboxCom.py +++ b/module/plugins/hoster/DropboxCom.py @@ -18,7 +18,7 @@ class DropboxCom(SimpleHoster): FILE_NAME_PATTERN = r'<title>Dropbox - (?P<N>.+?)<' - FILE_SIZE_PATTERN = r' ·  (?P<S>[\d,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r' ·  (?P<S>[\d.,]+) (?P<U>\w+)' OFFLINE_PATTERN = r'<title>Dropbox - (404|Shared link error)<' diff --git a/module/plugins/hoster/EdiskCz.py b/module/plugins/hoster/EdiskCz.py index 014826e32..9645b9834 100644 --- a/module/plugins/hoster/EdiskCz.py +++ b/module/plugins/hoster/EdiskCz.py @@ -10,18 +10,18 @@ class EdiskCz(SimpleHoster): __type__ = "hoster" __version__ = "0.21" - __pattern__ = r'http://(?:www\.)?edisk.(cz|sk|eu)/(stahni|sk/stahni|en/download)/.*' + __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'<span class="fl" title="(?P<N>[^"]+)">\s*.*?\((?P<S>[\d.]*) (?P<U>\w+)\)</h1></span>' + FILE_INFO_PATTERN = r'<span class="fl" title="(?P<N>[^"]+)">\s*.*?\((?P<S>[\d.,]+) (?P<U>\w+)\)</h1></span>' OFFLINE_PATTERN = r'<h3>This file does not exist due to one of the following:</h3><ul><li>' ACTION_PATTERN = r'/en/download/(\d+/.*\.html)' - LINK_PATTERN = r'http://.*edisk.cz.*\.html' + LINK_PATTERN = r'http://.*edisk\.cz.*\.html' def setup(self): diff --git a/module/plugins/hoster/EuroshareEu.py b/module/plugins/hoster/EuroshareEu.py index c4811de24..b538a3ed9 100644 --- a/module/plugins/hoster/EuroshareEu.py +++ b/module/plugins/hoster/EuroshareEu.py @@ -10,7 +10,7 @@ class EuroshareEu(SimpleHoster): __type__ = "hoster" __version__ = "0.25" - __pattern__ = r'http://(?:www\.)?euroshare.(eu|sk|cz|hu|pl)/file/.*' + __pattern__ = r'http://(?:www\.)?euroshare\.(eu|sk|cz|hu|pl)/file/.*' __description__ = """Euroshare.eu hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/FilecloudIo.py b/module/plugins/hoster/FilecloudIo.py index a3cc47bf0..6d60bf793 100644 --- a/module/plugins/hoster/FilecloudIo.py +++ b/module/plugins/hoster/FilecloudIo.py @@ -22,15 +22,15 @@ class FilecloudIo(SimpleHoster): FILE_SIZE_PATTERN = r'{var __ab1 = (?P<S>\d+);}' FILE_NAME_PATTERN = r'id="aliasSpan">(?P<N>.*?)  <' - OFFLINE_PATTERN = r'l10n.(FILES__DOESNT_EXIST|REMOVED)' - TEMP_OFFLINE_PATTERN = r'l10n.FILES__WARNING' + OFFLINE_PATTERN = r'l10n\.(FILES__DOESNT_EXIST|REMOVED)' + TEMP_OFFLINE_PATTERN = r'l10n\.FILES__WARNING' UKEY_PATTERN = r"'ukey'\s*:'(\w+)'," AB1_PATTERN = r"if\( __ab1 == '(\w+)' \)" ERROR_MSG_PATTERN = r'var __error_msg\s*=\s*l10n\.(.*?);' RECAPTCHA_PATTERN = r"var __recaptcha_public\s*=\s*'([^']+)';" - LINK_PATTERN = r'"(http://s\d+.filecloud.io/%s/\d+/.*?)"' + LINK_PATTERN = r'"(http://s\d+\.filecloud\.io/%s/\d+/.*?)"' def setup(self): diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py index 878d18d0a..15f44ad61 100644 --- a/module/plugins/hoster/FilefactoryCom.py +++ b/module/plugins/hoster/FilefactoryCom.py @@ -29,7 +29,7 @@ class FilefactoryCom(SimpleHoster): __authors__ = [("stickell", "l.stickell@yahoo.it")] - FILE_INFO_PATTERN = r'<div id="file_name"[^>]*>\s*<h2>(?P<N>[^<]+)</h2>\s*<div id="file_info">\s*(?P<S>[\d.]+) (?P<U>\w+) uploaded' + FILE_INFO_PATTERN = r'<div id="file_name"[^>]*>\s*<h2>(?P<N>[^<]+)</h2>\s*<div id="file_info">\s*(?P<S>[\d.,]+) (?P<U>\w+) uploaded' LINK_PATTERN = r'<a href="(https?://[^"]+)"[^>]*><i[^>]*></i> Download with FileFactory Premium</a>' OFFLINE_PATTERN = r'<h2>File Removed</h2>|This file is no longer available' PREMIUM_ONLY_PATTERN = r'>Premium Account Required<' diff --git a/module/plugins/hoster/FileomCom.py b/module/plugins/hoster/FileomCom.py index d3038154c..80ee35c1c 100644 --- a/module/plugins/hoster/FileomCom.py +++ b/module/plugins/hoster/FileomCom.py @@ -23,7 +23,7 @@ class FileomCom(XFSPHoster): FILE_URL_REPLACEMENTS = [(r'/$', "")] FILE_NAME_PATTERN = r'Filename: <span>(?P<N>.+?)<' - FILE_SIZE_PATTERN = r'File Size: <span class="size">(?P<S>[\d.]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'File Size: <span class="size">(?P<S>[\d.,]+) (?P<U>\w+)' ERROR_PATTERN = r'class=["\']err["\'][^>]*>(.*?)(?:\'|</)' diff --git a/module/plugins/hoster/FilepostCom.py b/module/plugins/hoster/FilepostCom.py index 0dc0d7c63..1412a63e8 100644 --- a/module/plugins/hoster/FilepostCom.py +++ b/module/plugins/hoster/FilepostCom.py @@ -14,14 +14,14 @@ class FilepostCom(SimpleHoster): __type__ = "hoster" __version__ = "0.28" - __pattern__ = r'https?://(?:www\.)?(?:filepost\.com/files|fp.io)/([^/]+).*' + __pattern__ = r'https?://(?:www\.)?(?:filepost\.com/files|fp\.io)/([^/]+).*' __description__ = """Filepost.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] - FILE_INFO_PATTERN = r'<input type="text" id="url" value=\'<a href[^>]*>(?P<N>[^>]+?) - (?P<S>[\d.]+) (?P<U>\w+)</a>\' class="inp_text"/>' + FILE_INFO_PATTERN = r'<input type="text" id="url" value=\'<a href[^>]*>(?P<N>[^>]+?) - (?P<S>[\d.,]+) (?P<U>\w+)</a>\' class="inp_text"/>' OFFLINE_PATTERN = r'class="error_msg_title"> Invalid or Deleted File. </div>|<div class="file_info file_info_deleted">' PREMIUM_ONLY_PATTERN = r'members only. Please upgrade to premium|a premium membership is required to download this file' diff --git a/module/plugins/hoster/FilepupNet.py b/module/plugins/hoster/FilepupNet.py index 8866fe240..1180f7f9e 100644 --- a/module/plugins/hoster/FilepupNet.py +++ b/module/plugins/hoster/FilepupNet.py @@ -23,7 +23,7 @@ class FilepupNet(SimpleHoster): FILE_NAME_PATTERN = r'>(?P<N>.+?)</h1>' - FILE_SIZE_PATTERN = r'class="fa fa-archive"></i> \((?P<S>[\d.]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'class="fa fa-archive"></i> \((?P<S>[\d.,]+) (?P<U>\w+)' OFFLINE_PATTERN = r'>This file has been deleted' diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py index ff7d4f608..ae38ee890 100644 --- a/module/plugins/hoster/FileserveCom.py +++ b/module/plugins/hoster/FileserveCom.py @@ -47,14 +47,14 @@ class FileserveCom(Hoster): URLS = ["http://www.fileserve.com/file/", "http://www.fileserve.com/link-checker.php", "http://www.fileserve.com/checkReCaptcha.php"] - LINKCHECK_TR = r'<tr>\s*(<td>http://www.fileserve\.com/file/.*?)</tr>' + LINKCHECK_TR = r'<tr>\s*(<td>http://www\.fileserve\.com/file/.*?)</tr>' LINKCHECK_TD = r'<td>(?:<[^>]*>| )*([^<]*)' CAPTCHA_KEY_PATTERN = r"var reCAPTCHA_publickey='(?P<key>[^']+)'" LONG_WAIT_PATTERN = r'<li class="title">You need to wait (\d+) (\w+) to start another download\.</li>' LINK_EXPIRED_PATTERN = r'Your download link has expired' DAILY_LIMIT_PATTERN = r'Your daily download limit has been reached' - NOT_LOGGED_IN_PATTERN = r'<form (name="loginDialogBoxForm"|id="login_form")|<li><a href="/login.php">Login</a></li>' + NOT_LOGGED_IN_PATTERN = r'<form (name="loginDialogBoxForm"|id="login_form")|<li><a href="/login\.php">Login</a></li>' def setup(self): diff --git a/module/plugins/hoster/FreeWayMe.py b/module/plugins/hoster/FreeWayMe.py index 17f1a5768..996c8b6aa 100644 --- a/module/plugins/hoster/FreeWayMe.py +++ b/module/plugins/hoster/FreeWayMe.py @@ -8,7 +8,7 @@ class FreeWayMe(Hoster): __type__ = "hoster" __version__ = "0.11" - __pattern__ = r'https://(?:www\.)?free-way.me/.*' + __pattern__ = r'https://(?:www\.)?free-way\.me/.*' __description__ = """FreeWayMe hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py index 7e66d846c..4d01d7c7f 100644 --- a/module/plugins/hoster/FshareVn.py +++ b/module/plugins/hoster/FshareVn.py @@ -29,7 +29,7 @@ class FshareVn(SimpleHoster): __type__ = "hoster" __version__ = "0.16" - __pattern__ = r'http://(?:www\.)?fshare.vn/file/.*' + __pattern__ = r'http://(?:www\.)?fshare\.vn/file/.*' __description__ = """FshareVn hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py index b255de66b..f80fdd69f 100644 --- a/module/plugins/hoster/Ftp.py +++ b/module/plugins/hoster/Ftp.py @@ -14,7 +14,7 @@ class Ftp(Hoster): __type__ = "hoster" __version__ = "0.42" - __pattern__ = r'(ftps?|sftp)://(.*?:.*?@)?.*?/.*' # ftp://user:password@ftp.server.org/path/to/file + __pattern__ = r'(ftps?|sftp)://(.*?:.*?@)?.*?/.*' # ftp://user:password@ftp\.server\.org/path/to/file __description__ = """Download from ftp directory""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/GamefrontCom.py b/module/plugins/hoster/GamefrontCom.py index 413b9ee10..a9faf6783 100644 --- a/module/plugins/hoster/GamefrontCom.py +++ b/module/plugins/hoster/GamefrontCom.py @@ -12,7 +12,7 @@ class GamefrontCom(Hoster): __type__ = "hoster" __version__ = "0.04" - __pattern__ = r'http://(?:www\.)?gamefront.com/files/\w+' + __pattern__ = r'http://(?:www\.)?gamefront\.com/files/\w+' __description__ = """Gamefront.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/HellshareCz.py b/module/plugins/hoster/HellshareCz.py index a22ed6926..00fc17fba 100644 --- a/module/plugins/hoster/HellshareCz.py +++ b/module/plugins/hoster/HellshareCz.py @@ -18,7 +18,7 @@ class HellshareCz(SimpleHoster): FILE_NAME_PATTERN = r'<h1 id="filename"[^>]*>(?P<N>[^<]+)</h1>' - FILE_SIZE_PATTERN = r'<strong id="FileSize_master">(?P<S>[\d.]*) (?P<U>\w+)</strong>' + FILE_SIZE_PATTERN = r'<strong id="FileSize_master">(?P<S>[\d.,]+) (?P<U>\w+)</strong>' OFFLINE_PATTERN = r'<h1>File not found.</h1>' SHOW_WINDOW_PATTERN = r'<a href="([^?]+/(\d+)/\?do=(fileDownloadButton|relatedFileDownloadButton-\2)-showDownloadWindow)"' diff --git a/module/plugins/hoster/HellspyCz.py b/module/plugins/hoster/HellspyCz.py index 4be162dff..7d73a89ab 100644 --- a/module/plugins/hoster/HellspyCz.py +++ b/module/plugins/hoster/HellspyCz.py @@ -8,7 +8,7 @@ class HellspyCz(DeadHoster): __type__ = "hoster" __version__ = "0.28" - __pattern__ = r'http://(?:www\.)?(?:hellspy\.(?:cz|com|sk|hu|pl)|sciagaj.pl)(/\S+/\d+)/?.*' + __pattern__ = r'http://(?:www\.)?(?:hellspy\.(?:cz|com|sk|hu|pl)|sciagaj\.pl)(/\S+/\d+)/?.*' __description__ = """HellSpy.cz hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/HundredEightyUploadCom.py b/module/plugins/hoster/HundredEightyUploadCom.py index d1bfb620f..02bdf80fa 100644 --- a/module/plugins/hoster/HundredEightyUploadCom.py +++ b/module/plugins/hoster/HundredEightyUploadCom.py @@ -21,7 +21,7 @@ class HundredEightyUploadCom(XFSPHoster): HOSTER_NAME = "180upload.com" FILE_NAME_PATTERN = r'Filename:</b></td><td nowrap>(?P<N>.+)</td></tr>-->' - FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.]+) (?P<U>\w+)\s*<small>' + FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.,]+) (?P<U>\w+)\s*<small>' getInfo = create_getInfo(HundredEightyUploadCom) diff --git a/module/plugins/hoster/IfileIt.py b/module/plugins/hoster/IfileIt.py index 39bfcb233..e368f5f78 100644 --- a/module/plugins/hoster/IfileIt.py +++ b/module/plugins/hoster/IfileIt.py @@ -21,7 +21,7 @@ class IfileIt(SimpleHoster): LINK_PATTERN = r'</span> If it doesn\'t, <a target="_blank" href="([^"]+)">' RECAPTCHA_PATTERN = r"var __recaptcha_public\s*=\s*'([^']+)';" - FILE_INFO_PATTERN = r'<span style="cursor: default;[^>]*>\s*(?P<N>.*?)\s* \s*<strong>\s*(?P<S>[\d.]+)\s*(?P<U>\w+)\s*</strong>\s*</span>' + FILE_INFO_PATTERN = r'<span style="cursor: default;[^>]*>\s*(?P<N>.*?)\s* \s*<strong>\s*(?P<S>[\d.,]+)\s*(?P<U>\w+)\s*</strong>\s*</span>' OFFLINE_PATTERN = r'<span style="cursor: default;[^>]*>\s* \s*<strong>\s*</strong>\s*</span>' TEMP_OFFLINE_PATTERN = r'<span class="msg_red">Downloading of this file is temporarily disabled</span>' diff --git a/module/plugins/hoster/IfolderRu.py b/module/plugins/hoster/IfolderRu.py index 6ed69f95e..63b49dad8 100644 --- a/module/plugins/hoster/IfolderRu.py +++ b/module/plugins/hoster/IfolderRu.py @@ -22,8 +22,8 @@ class IfolderRu(SimpleHoster): FILE_SIZE_PATTERN = ur'(?:<div><span>)?Размер:(?:</span>)? <b>(?P<S>[^<]+)</b><(?:/div|br)>' OFFLINE_PATTERN = ur'<p>Файл номер <b>[^<]*</b> (не найден|удален) !!!</p>' - SESSION_ID_PATTERN = r'<a href=(http://ints.(?:rusfolder.com|ifolder.ru)/ints/sponsor/\?bi=\d*&session=([^&]+)&u=[^>]+)>' - INTS_SESSION_PATTERN = r'\(\'ints_session\'\);\s*if\(tag\)\{tag.value = "([^"]+)";\}' + SESSION_ID_PATTERN = r'<a href=(http://ints\.(?:rusfolder\.com|ifolder\.ru)/ints/sponsor/\?bi=\d*&session=([^&]+)&u=[^>]+)>' + INTS_SESSION_PATTERN = r'\(\'ints_session\'\);\s*if\(tag\)\{tag\.value = "([^"]+)";\}' HIDDEN_INPUT_PATTERN = r"var v = .*?name='([^']+)' value='1'" LINK_PATTERN = r'<a id="download_file_href" href="([^"]+)"' WRONG_CAPTCHA_PATTERN = ur'<font color=Red>неверный код,<br>введите еще раз</font><br>' diff --git a/module/plugins/hoster/JumbofilesCom.py b/module/plugins/hoster/JumbofilesCom.py index 254d9cffa..f5456efb7 100644 --- a/module/plugins/hoster/JumbofilesCom.py +++ b/module/plugins/hoster/JumbofilesCom.py @@ -10,14 +10,14 @@ class JumbofilesCom(SimpleHoster): __type__ = "hoster" __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?jumbofiles.com/(\w{12}).*' + __pattern__ = r'http://(?:www\.)?jumbofiles\.com/(\w{12}).*' __description__ = """JumboFiles.com hoster plugin""" __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com")] - FILE_INFO_PATTERN = r'<TR><TD>(?P<N>[^<]+?)\s*<small>\((?P<S>[\d.]+)\s*(?P<U>\w+)' + FILE_INFO_PATTERN = r'<TR><TD>(?P<N>[^<]+?)\s*<small>\((?P<S>[\d.,]+)\s*(?P<U>\w+)' OFFLINE_PATTERN = r'Not Found or Deleted / Disabled due to inactivity or DMCA' LINK_PATTERN = r'<meta http-equiv="refresh" content="10;url=(.+)">' diff --git a/module/plugins/hoster/KingfilesNet.py b/module/plugins/hoster/KingfilesNet.py index bf2cb2ace..8eaf54e12 100644 --- a/module/plugins/hoster/KingfilesNet.py +++ b/module/plugins/hoster/KingfilesNet.py @@ -20,7 +20,7 @@ class KingfilesNet(SimpleHoster): FILE_NAME_PATTERN = r'name="fname" value="(?P<N>.+?)">' - FILE_SIZE_PATTERN = r'>Size: .+?">(?P<S>[\d.]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'>Size: .+?">(?P<S>[\d.,]+) (?P<U>\w+)' OFFLINE_PATTERN = r'>(File Not Found</b><br><br>|File Not Found</h2>)' diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py index cae7fdf67..68d768b7c 100644 --- a/module/plugins/hoster/LetitbitNet.py +++ b/module/plugins/hoster/LetitbitNet.py @@ -38,7 +38,7 @@ class LetitbitNet(SimpleHoster): __type__ = "hoster" __version__ = "0.24" - __pattern__ = r'http://(?:www\.)?(letitbit|shareflare).net/download/.*' + __pattern__ = r'http://(?:www\.)?(letitbit|shareflare)\.net/download/.*' __description__ = """Letitbit.net hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/LoadTo.py b/module/plugins/hoster/LoadTo.py index dfd18b6ef..03ec6e71b 100644 --- a/module/plugins/hoster/LoadTo.py +++ b/module/plugins/hoster/LoadTo.py @@ -24,7 +24,7 @@ class LoadTo(SimpleHoster): FILE_NAME_PATTERN = r'<h1>(?P<N>.+)</h1>' - FILE_SIZE_PATTERN = r'Size: (?P<S>[\d.]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'Size: (?P<S>[\d.,]+) (?P<U>\w+)' OFFLINE_PATTERN = r'>Can\'t find file' LINK_PATTERN = r'<form method="post" action="(.+?)"' diff --git a/module/plugins/hoster/LomafileCom.py b/module/plugins/hoster/LomafileCom.py index 9589318cc..51e1d7711 100644 --- a/module/plugins/hoster/LomafileCom.py +++ b/module/plugins/hoster/LomafileCom.py @@ -19,7 +19,7 @@ class LomafileCom(XFSPHoster): HOSTER_NAME = "lomafile.com" FILE_NAME_PATTERN = r'<a href="http://lomafile\.com/w{12}/(?P<N>.+?)">' - FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.,]+) (?P<U>\w+)' OFFLINE_PATTERN = r'>(No such file|Software error:<)' TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' diff --git a/module/plugins/hoster/LuckyShareNet.py b/module/plugins/hoster/LuckyShareNet.py index 2b702986e..99acc5ef8 100644 --- a/module/plugins/hoster/LuckyShareNet.py +++ b/module/plugins/hoster/LuckyShareNet.py @@ -13,14 +13,14 @@ class LuckyShareNet(SimpleHoster): __type__ = "hoster" __version__ = "0.02" - __pattern__ = r'https?://(?:www\.)?luckyshare.net/(?P<ID>\d{10,})' + __pattern__ = r'https?://(?:www\.)?luckyshare\.net/(?P<ID>\d{10,})' __description__ = """LuckyShare.net hoster plugin""" __license__ = "GPLv3" __authors__ = [("stickell", "l.stickell@yahoo.it")] - FILE_INFO_PATTERN = r"<h1 class='file_name'>(?P<N>\S+)</h1>\s*<span class='file_size'>Filesize: (?P<S>[\d.]+)(?P<U>\w+)</span>" + FILE_INFO_PATTERN = r"<h1 class='file_name'>(?P<N>\S+)</h1>\s*<span class='file_size'>Filesize: (?P<S>[\d.,]+)(?P<U>\w+)</span>" OFFLINE_PATTERN = r'There is no such file available' diff --git a/module/plugins/hoster/MediafireCom.py b/module/plugins/hoster/MediafireCom.py index 684f7ff13..187ef4c2a 100644 --- a/module/plugins/hoster/MediafireCom.py +++ b/module/plugins/hoster/MediafireCom.py @@ -49,7 +49,7 @@ class MediafireCom(SimpleHoster): __type__ = "hoster" __version__ = "0.79" - __pattern__ = r'http://(?:www\.)?mediafire\.com/(file/|(view/?|download.php)?\?)(\w{11}|\w{15})($|/)' + __pattern__ = r'http://(?:www\.)?mediafire\.com/(file/|(view/?|download\.php)?\?)(\w{11}|\w{15})($|/)' __description__ = """Mediafire.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/MegaDebridEu.py b/module/plugins/hoster/MegaDebridEu.py index f45a0ed96..ca0569c6b 100644 --- a/module/plugins/hoster/MegaDebridEu.py +++ b/module/plugins/hoster/MegaDebridEu.py @@ -13,7 +13,7 @@ class MegaDebridEu(Hoster): __type__ = "hoster" __version__ = "0.4" - __pattern__ = r'^https?://(?:w{3}\d+\.mega-debrid.eu|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/download/file/[^/]+/.+$' + __pattern__ = r'^https?://(?:w{3}\d+\.mega-debrid\.eu|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/download/file/[^/]+/.+$' __description__ = """mega-debrid.eu hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/MegaRapidCz.py b/module/plugins/hoster/MegaRapidCz.py index 282a8ec6d..cc24e6fa6 100644 --- a/module/plugins/hoster/MegaRapidCz.py +++ b/module/plugins/hoster/MegaRapidCz.py @@ -35,7 +35,7 @@ class MegaRapidCz(SimpleHoster): FILE_NAME_PATTERN = r'<h1[^>]*><span[^>]*>(?:<a[^>]*>)?(?P<N>[^<]+)' - FILE_SIZE_PATTERN = r'<td class="i">Velikost:</td>\s*<td class="h"><strong>\s*(?P<S>[\d.]+) (?P<U>\w+)</strong></td>' + FILE_SIZE_PATTERN = r'<td class="i">Velikost:</td>\s*<td class="h"><strong>\s*(?P<S>[\d.,]+) (?P<U>\w+)</strong></td>' OFFLINE_PATTERN = ur'Nastala chyba 404|Soubor byl smazán' FORCE_CHECK_TRAFFIC = True diff --git a/module/plugins/hoster/MegasharesCom.py b/module/plugins/hoster/MegasharesCom.py index 985c77dd5..799c8f5e0 100644 --- a/module/plugins/hoster/MegasharesCom.py +++ b/module/plugins/hoster/MegasharesCom.py @@ -12,7 +12,7 @@ class MegasharesCom(SimpleHoster): __type__ = "hoster" __version__ = "0.25" - __pattern__ = r'http://(?:www\.)?(d\d{2}\.)?megashares\.com/((index.php)?\?d\d{2}=|dl/)\w+' + __pattern__ = r'http://(?:www\.)?(d\d{2}\.)?megashares\.com/((index\.php)?\?d\d{2}=|dl/)\w+' __description__ = """Megashares.com hoster plugin""" __license__ = "GPLv3" @@ -20,7 +20,7 @@ class MegasharesCom(SimpleHoster): FILE_NAME_PATTERN = r'<h1 class="black xxl"[^>]*title="(?P<N>[^"]+)">' - FILE_SIZE_PATTERN = r'<strong><span class="black">Filesize:</span></strong> (?P<S>[\d.]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'<strong><span class="black">Filesize:</span></strong> (?P<S>[\d.,]+) (?P<U>\w+)' OFFLINE_PATTERN = r'<dd class="red">(Invalid Link Request|Link has been deleted|Invalid link)' LINK_PATTERN = r'<div id="show_download_button_%d"[^>]*>\s*<a href="([^"]+)">' diff --git a/module/plugins/hoster/MovReelCom.py b/module/plugins/hoster/MovReelCom.py index 3a795ba2e..96741f347 100644 --- a/module/plugins/hoster/MovReelCom.py +++ b/module/plugins/hoster/MovReelCom.py @@ -18,7 +18,7 @@ class MovReelCom(XFSPHoster): HOSTER_NAME = "movreel.com" FILE_NAME_PATTERN = r'Filename: <b>(?P<N>.+?)<' - FILE_SIZE_PATTERN = r'Size: (?P<S>[\d.]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'Size: (?P<S>[\d.,]+) (?P<U>\w+)' LINK_PATTERN = r'<a href="([^"]+)">Download Link' diff --git a/module/plugins/hoster/MultishareCz.py b/module/plugins/hoster/MultishareCz.py index 42ad115ac..1ce16f30c 100644 --- a/module/plugins/hoster/MultishareCz.py +++ b/module/plugins/hoster/MultishareCz.py @@ -12,7 +12,7 @@ class MultishareCz(SimpleHoster): __type__ = "hoster" __version__ = "0.34" - __pattern__ = r'http://(?:www\.)?multishare.cz/stahnout/(?P<ID>\d+).*' + __pattern__ = r'http://(?:www\.)?multishare\.cz/stahnout/(?P<ID>\d+).*' __description__ = """MultiShare.cz hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/MyvideoDe.py b/module/plugins/hoster/MyvideoDe.py index ec06806a5..be2482970 100644 --- a/module/plugins/hoster/MyvideoDe.py +++ b/module/plugins/hoster/MyvideoDe.py @@ -11,7 +11,7 @@ class MyvideoDe(Hoster): __type__ = "hoster" __version__ = "0.9" - __pattern__ = r'http://(?:www\.)?myvideo.de/watch/' + __pattern__ = r'http://(?:www\.)?myvideo\.de/watch/' __description__ = """Myvideo.de hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/NetloadIn.py b/module/plugins/hoster/NetloadIn.py index fe00e1565..becfa56dd 100644 --- a/module/plugins/hoster/NetloadIn.py +++ b/module/plugins/hoster/NetloadIn.py @@ -54,7 +54,7 @@ class NetloadIn(Hoster): __type__ = "hoster" __version__ = "0.45" - __pattern__ = r'https?://(?:[^/]*\.)?netload\.in/(?:datei(.*?)(?:\.htm|/)|index.php?id=10&file_id=)' + __pattern__ = r'https?://(?:[^/]*\.)?netload\.in/(?:datei(.*?)(?:\.htm|/)|index\.php?id=10&file_id=)' __description__ = """Netload.in hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/NosuploadCom.py b/module/plugins/hoster/NosuploadCom.py index cd28baf19..a8bb345f2 100644 --- a/module/plugins/hoster/NosuploadCom.py +++ b/module/plugins/hoster/NosuploadCom.py @@ -19,7 +19,7 @@ class NosuploadCom(XFSPHoster): HOSTER_NAME = "nosupload.com" - FILE_SIZE_PATTERN = r'<p><strong>Size:</strong> (?P<S>[\d.]+) (?P<U>\w+)</p>' + FILE_SIZE_PATTERN = r'<p><strong>Size:</strong> (?P<S>[\d.,]+) (?P<U>\w+)</p>' LINK_PATTERN = r'<a class="select" href="(http://.+?)">Download</a>' WAIT_PATTERN = r'Please wait.*?>(\d+)</span>' diff --git a/module/plugins/hoster/PremiumTo.py b/module/plugins/hoster/PremiumTo.py index e78fdfd4f..ed96f315b 100644 --- a/module/plugins/hoster/PremiumTo.py +++ b/module/plugins/hoster/PremiumTo.py @@ -13,7 +13,7 @@ class PremiumTo(Hoster): __type__ = "hoster" __version__ = "0.10" - __pattern__ = r'https?://(?:www\.)?premium.to/.*' + __pattern__ = r'https?://(?:www\.)?premium\.to/.*' __description__ = """Premium.to hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/PromptfileCom.py b/module/plugins/hoster/PromptfileCom.py index b6f35e8ba..8d2f7c750 100644 --- a/module/plugins/hoster/PromptfileCom.py +++ b/module/plugins/hoster/PromptfileCom.py @@ -17,7 +17,7 @@ class PromptfileCom(SimpleHoster): __authors__ = [("igel", "igelkun@myopera.com")] - FILE_INFO_PATTERN = r'<span style="[^"]*" title="[^"]*">(?P<N>.*?) \((?P<S>[\d.]+) (?P<U>\w+)\)</span>' + FILE_INFO_PATTERN = r'<span style="[^"]*" title="[^"]*">(?P<N>.*?) \((?P<S>[\d.,]+) (?P<U>\w+)\)</span>' OFFLINE_PATTERN = r'<span style="[^"]*" title="File Not Found">File Not Found</span>' CHASH_PATTERN = r'<input type="hidden" name="chash" value="([^"]*)" />' diff --git a/module/plugins/hoster/QuickshareCz.py b/module/plugins/hoster/QuickshareCz.py index 441f08e4b..20af76813 100644 --- a/module/plugins/hoster/QuickshareCz.py +++ b/module/plugins/hoster/QuickshareCz.py @@ -12,7 +12,7 @@ class QuickshareCz(SimpleHoster): __type__ = "hoster" __version__ = "0.54" - __pattern__ = r'http://(?:[^/]*\.)?quickshare.cz/stahnout-soubor/.*' + __pattern__ = r'http://(?:[^/]*\.)?quickshare\.cz/stahnout-soubor/.*' __description__ = """Quickshare.cz hoster plugin""" __license__ = "GPLv3" @@ -20,8 +20,8 @@ class QuickshareCz(SimpleHoster): FILE_NAME_PATTERN = r'<th width="145px">Název:</th>\s*<td style="word-wrap:break-word;">(?P<N>[^<]+)</td>' - FILE_SIZE_PATTERN = r'<th>Velikost:</th>\s*<td>(?P<S>[\d.]+) (?P<U>\w+)</td>' - OFFLINE_PATTERN = r'<script type="text/javascript">location.href=\'/chyba\';</script>' + FILE_SIZE_PATTERN = r'<th>Velikost:</th>\s*<td>(?P<S>[\d.,]+) (?P<U>\w+)</td>' + OFFLINE_PATTERN = r'<script type="text/javascript">location\.href=\'/chyba\';</script>' def process(self, pyfile): diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index f1d59efea..37b36ecfe 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -29,7 +29,7 @@ class RapidgatorNet(SimpleHoster): API_URL = "http://rapidgator.net/api/file" FILE_NAME_PATTERN = r'<title>Download file (?P<N>.*)' - FILE_SIZE_PATTERN = r'File size:\s*(?P[\d.]+) (?P\w+)' + FILE_SIZE_PATTERN = r'File size:\s*(?P[\d.,]+) (?P\w+)' OFFLINE_PATTERN = r'>(File not found|Error 404)' JSVARS_PATTERN = r"\s+var\s*(startTimerUrl|getDownloadUrl|captchaUrl|fid|secs)\s*=\s*'?(.*?)'?;" diff --git a/module/plugins/hoster/RapidshareCom.py b/module/plugins/hoster/RapidshareCom.py index 88154b5e9..befbbb123 100644 --- a/module/plugins/hoster/RapidshareCom.py +++ b/module/plugins/hoster/RapidshareCom.py @@ -46,7 +46,7 @@ class RapidshareCom(Hoster): __type__ = "hoster" __version__ = "1.39" - __pattern__ = r'https?://(?:www\.)?rapidshare.com/(?:files/(?P\d+)/(?P[^?]+)|#!download\|(?:\w+)\|(?P\d+)\|(?P[^|]+))' + __pattern__ = r'https?://(?:www\.)?rapidshare\.com/(?:files/(?P\d+)/(?P[^?]+)|#!download\|(?:\w+)\|(?P\d+)\|(?P[^|]+))' __config__ = [("server", "Cogent;Deutsche Telekom;Level(3);Level(3) #2;GlobalCrossing;Level(3) #3;Teleglobe;GlobalCrossing #2;TeliaSonera #2;Teleglobe #2;TeliaSonera #3;TeliaSonera", "Preferred Server", "None")] diff --git a/module/plugins/hoster/RehostTo.py b/module/plugins/hoster/RehostTo.py index b4f8f968b..e1f719c19 100644 --- a/module/plugins/hoster/RehostTo.py +++ b/module/plugins/hoster/RehostTo.py @@ -10,7 +10,7 @@ class RehostTo(Hoster): __type__ = "hoster" __version__ = "0.13" - __pattern__ = r'https?://.*rehost.to\..*' + __pattern__ = r'https?://.*rehost\.to\..*' __description__ = """Rehost.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/RyushareCom.py b/module/plugins/hoster/RyushareCom.py index 4a5811581..e88d9a8c6 100644 --- a/module/plugins/hoster/RyushareCom.py +++ b/module/plugins/hoster/RyushareCom.py @@ -25,7 +25,7 @@ class RyushareCom(XFSPHoster): HOSTER_NAME = "ryushare.com" - FILE_SIZE_PATTERN = r'You have requested [^<]+ \((?P[\d.]+) (?P\w+)' + FILE_SIZE_PATTERN = r'You have requested [^<]+ \((?P[\d.,]+) (?P\w+)' WAIT_PATTERN = r'You have to wait ((?P\d+) hour[s]?, )?((?P\d+) minute[s], )?(?P\d+) second[s]' LINK_PATTERN = r'Click here to download<' diff --git a/module/plugins/hoster/SendspaceCom.py b/module/plugins/hoster/SendspaceCom.py index 834eff1a9..6b71c65bd 100644 --- a/module/plugins/hoster/SendspaceCom.py +++ b/module/plugins/hoster/SendspaceCom.py @@ -10,7 +10,7 @@ class SendspaceCom(SimpleHoster): __type__ = "hoster" __version__ = "0.13" - __pattern__ = r'http://(?:www\.)?sendspace.com/file/.*' + __pattern__ = r'http://(?:www\.)?sendspace\.com/file/.*' __description__ = """Sendspace.com hoster plugin""" __license__ = "GPLv3" @@ -18,12 +18,12 @@ class SendspaceCom(SimpleHoster): FILE_NAME_PATTERN = r'

\s*<(?:b|strong)>(?P[^<]+)\s*File Size:\s*(?P[\d.]+)(?P\w+)\s*

' + FILE_SIZE_PATTERN = r'
\s*File Size:\s*(?P[\d.,]+)(?P\w+)\s*
' OFFLINE_PATTERN = r'
Sorry, the file you requested is not available.
' LINK_PATTERN = r'
' - USER_CAPTCHA_PATTERN = r'' + CAPTCHA_PATTERN = r'' + USER_CAPTCHA_PATTERN = r'' def handleFree(self): diff --git a/module/plugins/hoster/Share76Com.py b/module/plugins/hoster/Share76Com.py index 34b40ae0d..156dbbdbd 100644 --- a/module/plugins/hoster/Share76Com.py +++ b/module/plugins/hoster/Share76Com.py @@ -8,7 +8,7 @@ class Share76Com(DeadHoster): __type__ = "hoster" __version__ = "0.04" - __pattern__ = r'http://(?:www\.)?share76.com/\w{12}' + __pattern__ = r'http://(?:www\.)?share76\.com/\w{12}' __description__ = """Share76.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/SharebeesCom.py b/module/plugins/hoster/SharebeesCom.py index 675bd2286..d90b0d170 100644 --- a/module/plugins/hoster/SharebeesCom.py +++ b/module/plugins/hoster/SharebeesCom.py @@ -8,7 +8,7 @@ class SharebeesCom(DeadHoster): __type__ = "hoster" __version__ = "0.02" - __pattern__ = r'http://(?:www\.)?sharebees.com/\w{12}' + __pattern__ = r'http://(?:www\.)?sharebees\.com/\w{12}' __description__ = """ShareBees hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py index f3290af9e..cfb1d6325 100644 --- a/module/plugins/hoster/ShareonlineBiz.py +++ b/module/plugins/hoster/ShareonlineBiz.py @@ -41,7 +41,7 @@ class ShareonlineBiz(Hoster): __type__ = "hoster" __version__ = "0.40" - __pattern__ = r'https?://(?:www\.)?(share-online\.biz|egoshare\.com)/(download.php\?id=|dl/)(?P\w+)' + __pattern__ = r'https?://(?:www\.)?(share-online\.biz|egoshare\.com)/(download\.php\?id=|dl/)(?P\w+)' __description__ = """Shareonline.biz hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/ShragleCom.py b/module/plugins/hoster/ShragleCom.py index 0a78cfcd0..31a52181e 100644 --- a/module/plugins/hoster/ShragleCom.py +++ b/module/plugins/hoster/ShragleCom.py @@ -8,7 +8,7 @@ class ShragleCom(DeadHoster): __type__ = "hoster" __version__ = "0.22" - __pattern__ = r'http://(?:www\.)?(cloudnator|shragle).com/files/(?P.*?)/' + __pattern__ = r'http://(?:www\.)?(cloudnator|shragle)\.com/files/(?P.*?)/' __description__ = """Cloudnator.com (Shragle.com) hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/SimplydebridCom.py b/module/plugins/hoster/SimplydebridCom.py index 7476cf45e..c7df990e3 100644 --- a/module/plugins/hoster/SimplydebridCom.py +++ b/module/plugins/hoster/SimplydebridCom.py @@ -10,7 +10,7 @@ class SimplydebridCom(Hoster): __type__ = "hoster" __version__ = "0.1" - __pattern__ = r'http://(?:www\.)?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/sd.php/*' + __pattern__ = r'http://(?:www\.)?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/sd\.php/*' __description__ = """Simply-debrid.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/SpeedfileCz.py b/module/plugins/hoster/SpeedfileCz.py index 5d50b9bff..bb052d025 100644 --- a/module/plugins/hoster/SpeedfileCz.py +++ b/module/plugins/hoster/SpeedfileCz.py @@ -8,7 +8,7 @@ class SpeedfileCz(DeadHoster): __type__ = "hoster" __version__ = "0.32" - __pattern__ = r'http://(?:www\.)?speedfile.cz/.*' + __pattern__ = r'http://(?:www\.)?speedfile\.cz/.*' __description__ = """Speedfile.cz hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/SpeedyshareCom.py b/module/plugins/hoster/SpeedyshareCom.py index e2968835d..11b327475 100644 --- a/module/plugins/hoster/SpeedyshareCom.py +++ b/module/plugins/hoster/SpeedyshareCom.py @@ -27,7 +27,7 @@ class SpeedyshareCom(SimpleHoster): FILE_OFFLINE_PATTERN = r'class=downloadfilenamenotfound>.*' - LINK_PATTERN = r'\'Slow\'Slow' + FILE_NAME_PATTERN = r'' OFFLINE_PATTERN = r'

Str.nku nebylo mo.n. nal.zt \(404\)

' CDN_PATTERN = r'\d+)(?:&cdnLQ=(?P\d*))?(?:&cdnHQ=(?P\d*))?(?:&cdnHD=(?P\d*))?&' diff --git a/module/plugins/hoster/StreamcloudEu.py b/module/plugins/hoster/StreamcloudEu.py index 1df5ca13c..e6a2b0226 100644 --- a/module/plugins/hoster/StreamcloudEu.py +++ b/module/plugins/hoster/StreamcloudEu.py @@ -22,7 +22,7 @@ class StreamcloudEu(XFSPHoster): HOSTER_NAME = "streamcloud.eu" - LINK_PATTERN = r'file: "(http://(stor|cdn)\d+\.streamcloud.eu:?\d*/.*/video\.(mp4|flv))",' + LINK_PATTERN = r'file: "(http://(stor|cdn)\d+\.streamcloud\.eu:?\d*/.*/video\.(mp4|flv))",' def setup(self): diff --git a/module/plugins/hoster/TurbouploadCom.py b/module/plugins/hoster/TurbouploadCom.py index f6a6dee41..7696ee334 100644 --- a/module/plugins/hoster/TurbouploadCom.py +++ b/module/plugins/hoster/TurbouploadCom.py @@ -8,7 +8,7 @@ class TurbouploadCom(DeadHoster): __type__ = "hoster" __version__ = "0.03" - __pattern__ = r'http://(?:www\.)?turboupload.com/(\w+).*' + __pattern__ = r'http://(?:www\.)?turboupload\.com/(\w+).*' __description__ = """Turboupload.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/TusfilesNet.py b/module/plugins/hoster/TusfilesNet.py index f39e59d88..b976506de 100644 --- a/module/plugins/hoster/TusfilesNet.py +++ b/module/plugins/hoster/TusfilesNet.py @@ -18,7 +18,7 @@ class TusfilesNet(XFSPHoster): HOSTER_NAME = "tusfiles.net" - FILE_INFO_PATTERN = r'\](?P.+) - (?P[\d.]+) (?P\w+)\[' + FILE_INFO_PATTERN = r'\](?P.+) - (?P[\d.,]+) (?P\w+)\[' OFFLINE_PATTERN = r'>File Not Found|TusFiles - Fast Sharing Files!' diff --git a/module/plugins/hoster/TwoSharedCom.py b/module/plugins/hoster/TwoSharedCom.py index 44c927f4b..03dad69dd 100644 --- a/module/plugins/hoster/TwoSharedCom.py +++ b/module/plugins/hoster/TwoSharedCom.py @@ -10,7 +10,7 @@ class TwoSharedCom(SimpleHoster): __type__ = "hoster" __version__ = "0.11" - __pattern__ = r'http://(?:www\.)?2shared.com/(account/)?(download|get|file|document|photo|video|audio)/.*' + __pattern__ = r'http://(?:www\.)?2shared\.com/(account/)?(download|get|file|document|photo|video|audio)/.*' __description__ = """2Shared.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py index 9b6842ae7..3759c0c7b 100644 --- a/module/plugins/hoster/UlozTo.py +++ b/module/plugins/hoster/UlozTo.py @@ -17,7 +17,7 @@ class UlozTo(SimpleHoster): __type__ = "hoster" __version__ = "0.98" - __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(?:live/)?(?P<id>\w+/[^/?]*)' + __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(?:live/)?(?P<id>\w+/[^/?]*)' __description__ = """Uloz.to hoster plugin""" __license__ = "GPLv3" @@ -25,8 +25,8 @@ class UlozTo(SimpleHoster): FILE_INFO_PATTERN = r'<p>File <strong>(?P<N>[^<]+)</strong> is password protected</p>' - FILE_NAME_PATTERN = r'<title>(?P<N>[^<]+) \| Uloz.to' - FILE_SIZE_PATTERN = r'.*?(?P[\d.]+\s[kMG]?B)' + FILE_NAME_PATTERN = r'(?P<N>[^<]+) \| Uloz\.to' + FILE_SIZE_PATTERN = r'.*?(?P[\d.,]+\s[kMG]?B)' OFFLINE_PATTERN = r'404 - Page not found|

File (has been deleted|was banned)

' FILE_SIZE_REPLACEMENTS = [('([\d.]+)\s([kMG])B', convertDecimalPrefix)] diff --git a/module/plugins/hoster/UloziskoSk.py b/module/plugins/hoster/UloziskoSk.py index 536830bd9..7666678cd 100644 --- a/module/plugins/hoster/UloziskoSk.py +++ b/module/plugins/hoster/UloziskoSk.py @@ -10,7 +10,7 @@ class UloziskoSk(SimpleHoster): __type__ = "hoster" __version__ = "0.23" - __pattern__ = r'http://(?:www\.)?ulozisko.sk/.*' + __pattern__ = r'http://(?:www\.)?ulozisko\.sk/.*' __description__ = """Ulozisko.sk hoster plugin""" __license__ = "GPLv3" @@ -18,12 +18,12 @@ class UloziskoSk(SimpleHoster): FILE_NAME_PATTERN = r'
(?P[^<]+)
' - FILE_SIZE_PATTERN = ur'Veľkosť súboru: (?P[\d.]+) (?P\w+)
' + FILE_SIZE_PATTERN = ur'Veľkosť súboru: (?P[\d.,]+) (?P\w+)
' OFFLINE_PATTERN = ur'Zadaný súbor neexistuje z jedného z nasledujúcich dôvodov:' LINK_PATTERN = r'' ID_PATTERN = r'' - CAPTCHA_PATTERN = r'' + CAPTCHA_PATTERN = r'' IMG_PATTERN = ur'PRE ZVÄČŠENIE KLIKNITE NA OBRÁZOK
' diff --git a/module/plugins/hoster/UploadheroCom.py b/module/plugins/hoster/UploadheroCom.py index ced5762ba..914886fca 100644 --- a/module/plugins/hoster/UploadheroCom.py +++ b/module/plugins/hoster/UploadheroCom.py @@ -27,7 +27,7 @@ class UploadheroCom(SimpleHoster): COOKIES = [(".uploadhero.co", "lang", "en")] - IP_BLOCKED_PATTERN = r'href="(/lightbox_block_download.php\?min=.*?)"' + IP_BLOCKED_PATTERN = r'href="(/lightbox_block_download\.php\?min=.*?)"' IP_WAIT_PATTERN = r'(\d+).*\s*(\d+)' CAPTCHA_PATTERN = r'"(/captchadl\.php\?\w+)"' diff --git a/module/plugins/hoster/UploadingCom.py b/module/plugins/hoster/UploadingCom.py index 6a457602f..a55790441 100644 --- a/module/plugins/hoster/UploadingCom.py +++ b/module/plugins/hoster/UploadingCom.py @@ -23,7 +23,7 @@ class UploadingCom(SimpleHoster): FILE_NAME_PATTERN = r'id="file_title">(?P.+)(?P[\d.]+) (?P\w+)<' + FILE_SIZE_PATTERN = r'size tip_container">(?P[\d.,]+) (?P\w+)<' OFFLINE_PATTERN = r'(Page|file) not found' COOKIES = [(".uploading.com", "lang", "1"), diff --git a/module/plugins/hoster/UpstoreNet.py b/module/plugins/hoster/UpstoreNet.py index 2eb88afef..ef9cd9e5d 100644 --- a/module/plugins/hoster/UpstoreNet.py +++ b/module/plugins/hoster/UpstoreNet.py @@ -18,7 +18,7 @@ class UpstoreNet(SimpleHoster): __authors__ = [("igel", "igelkun@myopera.com")] - FILE_INFO_PATTERN = r'
.*?
\s*\n

(?P.*?)

\s*\n
\s*\n\s*(?P[\d.]+) (?P\w+)' + FILE_INFO_PATTERN = r'
.*?
\s*\n

(?P.*?)

\s*\n
\s*\n\s*(?P[\d.,]+) (?P\w+)' OFFLINE_PATTERN = r'File not found' WAIT_PATTERN = r'var sec = (\d+)' diff --git a/module/plugins/hoster/UptoboxCom.py b/module/plugins/hoster/UptoboxCom.py index d1ed81843..3b3757bb2 100644 --- a/module/plugins/hoster/UptoboxCom.py +++ b/module/plugins/hoster/UptoboxCom.py @@ -19,7 +19,7 @@ class UptoboxCom(XFSPHoster): HOSTER_NAME = "uptobox.com" - FILE_INFO_PATTERN = r'"para_title">(?P.+) \((?P[\d.]+) (?P\w+)\)' + FILE_INFO_PATTERN = r'"para_title">(?P.+) \((?P[\d.,]+) (?P\w+)\)' OFFLINE_PATTERN = r'>(File not found|Access Denied|404 Not Found)' WAIT_PATTERN = r'>(\d+) seconds<' diff --git a/module/plugins/hoster/WebshareCz.py b/module/plugins/hoster/WebshareCz.py index b1163825d..8412de7b8 100644 --- a/module/plugins/hoster/WebshareCz.py +++ b/module/plugins/hoster/WebshareCz.py @@ -26,7 +26,7 @@ class WebshareCz(SimpleHoster): __type__ = "hoster" __version__ = "0.13" - __pattern__ = r'https?://(?:www\.)?webshare.cz/(?:#/)?file/(?P\w+)' + __pattern__ = r'https?://(?:www\.)?webshare\.cz/(?:#/)?file/(?P\w+)' __description__ = """WebShare.cz hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/X7To.py b/module/plugins/hoster/X7To.py index 2288a750a..87fa2e8a1 100644 --- a/module/plugins/hoster/X7To.py +++ b/module/plugins/hoster/X7To.py @@ -8,7 +8,7 @@ class X7To(DeadHoster): __type__ = "hoster" __version__ = "0.41" - __pattern__ = r'http://(?:www\.)?x7.to/' + __pattern__ = r'http://(?:www\.)?x7\.to/' __description__ = """X7.to hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/YibaishiwuCom.py b/module/plugins/hoster/YibaishiwuCom.py index c015a596b..bbf6e7bbe 100644 --- a/module/plugins/hoster/YibaishiwuCom.py +++ b/module/plugins/hoster/YibaishiwuCom.py @@ -11,7 +11,7 @@ class YibaishiwuCom(SimpleHoster): __type__ = "hoster" __version__ = "0.12" - __pattern__ = r'http://(?:www\.)?(?:u\.)?115.com/file/(?P\w+)' + __pattern__ = r'http://(?:www\.)?(?:u\.)?115\.com/file/(?P\w+)' __description__ = """115.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py index 24e5bf68c..f2ba853fc 100644 --- a/module/plugins/hoster/ZippyshareCom.py +++ b/module/plugins/hoster/ZippyshareCom.py @@ -21,7 +21,7 @@ class ZippyshareCom(SimpleHoster): FILE_NAME_PATTERN = r'>Name:.+?">(?P.+?)<' - FILE_SIZE_PATTERN = r'>Size:.+?">(?P[\d.]+) (?P\w+)' + FILE_SIZE_PATTERN = r'>Size:.+?">(?P[\d.,]+) (?P\w+)' OFFLINE_PATTERN = r'>File does not exist on this server<' -- cgit v1.2.3 From 8939f015a688a07ec7d0bd14b6a3704f6a2cb4a0 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 11 Oct 2014 15:12:40 +0200 Subject: Pattern update 3 --- module/plugins/hoster/BayfilesCom.py | 2 +- module/plugins/hoster/CrockoCom.py | 2 +- module/plugins/hoster/CzshareCom.py | 2 +- module/plugins/hoster/DlFreeFr.py | 2 +- module/plugins/hoster/FilecloudIo.py | 6 +++--- module/plugins/hoster/FileomCom.py | 2 +- module/plugins/hoster/FilepostCom.py | 4 ++-- module/plugins/hoster/FileserveCom.py | 2 +- module/plugins/hoster/GamefrontCom.py | 2 +- module/plugins/hoster/IfileIt.py | 2 +- module/plugins/hoster/IfolderRu.py | 2 +- module/plugins/hoster/LetitbitNet.py | 2 +- module/plugins/hoster/LuckyShareNet.py | 2 +- module/plugins/hoster/MediafireCom.py | 6 +++--- module/plugins/hoster/MyvideoDe.py | 2 +- module/plugins/hoster/NetloadIn.py | 4 ++-- module/plugins/hoster/PromptfileCom.py | 2 +- module/plugins/hoster/RapidgatorNet.py | 4 ++-- module/plugins/hoster/SpeedyshareCom.py | 2 +- module/plugins/hoster/TurbobitNet.py | 2 +- module/plugins/hoster/TwoSharedCom.py | 2 +- module/plugins/hoster/XHamsterCom.py | 8 ++++---- module/plugins/hoster/YibaishiwuCom.py | 4 ++-- module/plugins/hoster/YoupornCom.py | 2 +- 24 files changed, 35 insertions(+), 35 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/BayfilesCom.py b/module/plugins/hoster/BayfilesCom.py index 98c5d27ba..5f097ee2f 100644 --- a/module/plugins/hoster/BayfilesCom.py +++ b/module/plugins/hoster/BayfilesCom.py @@ -26,7 +26,7 @@ class BayfilesCom(SimpleHoster): WAIT_PATTERN = r'>Your IP [\d.]* has recently downloaded a file\. Upgrade to premium or wait (\d+) minutes\.<' VARS_PATTERN = r'var vfid = (\d+);\s*var delay = (\d+);' - FREE_LINK_PATTERN = r"javascript:window.location.href = '([^']+)';" + FREE_LINK_PATTERN = r'javascript:window\.location\.href = \'(.+?)\';' PREMIUM_LINK_PATTERN = r'(?:Download:\s*(?P.*)' FILE_SIZE_PATTERN = r'(?P[^<]+)' - OFFLINE_PATTERN = r"

Sorry,
the page you're looking for
isn't here.

|File not found" + OFFLINE_PATTERN = r'

Sorry,
the page you\'re looking for
isn\'t here.

|File not found' CAPTCHA_URL_PATTERN = re.compile(r"u='(/file_contents/captcha/\w+)';\s*w='(\d+)';") diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index 8ca4fd8a5..9d2b8b35f 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -34,7 +34,7 @@ class CzshareCom(SimpleHoster): FREE_FORM_PATTERN = r'\s*(.*?)' PREMIUM_FORM_PATTERN = r'
(.*?)
' FORM_INPUT_PATTERN = r']* name="([^"]+)" value="([^"]+)"[^>]*/>' - MULTIDL_PATTERN = r"

Z[^<]*PROFI.

" + MULTIDL_PATTERN = r'

Z[^<]*PROFI.

' USER_CREDIT_PATTERN = r'
\s*kredit: ([\d .,]+)(\w+)\s*
' diff --git a/module/plugins/hoster/DlFreeFr.py b/module/plugins/hoster/DlFreeFr.py index 85e8e0eb3..b3ed346fe 100644 --- a/module/plugins/hoster/DlFreeFr.py +++ b/module/plugins/hoster/DlFreeFr.py @@ -125,7 +125,7 @@ class DlFreeFr(SimpleHoster): FILE_NAME_PATTERN = r'Fichier:\s*]*>(?P[^>]*)' FILE_SIZE_PATTERN = r'Taille:\s*]*>(?P[\d.,]+\w)o' - OFFLINE_PATTERN = r"Erreur 404 - Document non trouv|Fichier inexistant|Le fichier demandé n'a pas été trouvé" + OFFLINE_PATTERN = r'Erreur 404 - Document non trouv|Fichier inexistant|Le fichier demandé n\'a pas été trouvé' def setup(self): diff --git a/module/plugins/hoster/FilecloudIo.py b/module/plugins/hoster/FilecloudIo.py index 6d60bf793..da7683160 100644 --- a/module/plugins/hoster/FilecloudIo.py +++ b/module/plugins/hoster/FilecloudIo.py @@ -25,10 +25,10 @@ class FilecloudIo(SimpleHoster): OFFLINE_PATTERN = r'l10n\.(FILES__DOESNT_EXIST|REMOVED)' TEMP_OFFLINE_PATTERN = r'l10n\.FILES__WARNING' - UKEY_PATTERN = r"'ukey'\s*:'(\w+)'," - AB1_PATTERN = r"if\( __ab1 == '(\w+)' \)" + UKEY_PATTERN = r'\'ukey\'\s*:\'(\w+)' + AB1_PATTERN = r'if\( __ab1 == \'(\w+)\' \)' ERROR_MSG_PATTERN = r'var __error_msg\s*=\s*l10n\.(.*?);' - RECAPTCHA_PATTERN = r"var __recaptcha_public\s*=\s*'([^']+)';" + RECAPTCHA_PATTERN = r'var __recaptcha_public\s*=\s*\'(.+?)\';' LINK_PATTERN = r'"(http://s\d+\.filecloud\.io/%s/\d+/.*?)"' diff --git a/module/plugins/hoster/FileomCom.py b/module/plugins/hoster/FileomCom.py index 80ee35c1c..6c8be59da 100644 --- a/module/plugins/hoster/FileomCom.py +++ b/module/plugins/hoster/FileomCom.py @@ -27,7 +27,7 @@ class FileomCom(XFSPHoster): ERROR_PATTERN = r'class=["\']err["\'][^>]*>(.*?)(?:\'| Invalid or Deleted File.
|
' PREMIUM_ONLY_PATTERN = r'members only. Please upgrade to premium|a premium membership is required to download this file' - RECAPTCHA_PATTERN = r"Captcha.init\({\s*key:\s*'([^']+)'" - FLP_TOKEN_PATTERN = r"set_store_options\({token: '([^']+)'" + RECAPTCHA_PATTERN = r'Captcha.init\({\s*key:\s*\'(.+?)\'' + FLP_TOKEN_PATTERN = r'set_store_options\({token: \'(.+?)\'' def handleFree(self): diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py index ae38ee890..4e722eb9f 100644 --- a/module/plugins/hoster/FileserveCom.py +++ b/module/plugins/hoster/FileserveCom.py @@ -50,7 +50,7 @@ class FileserveCom(Hoster): LINKCHECK_TR = r'\s*(http://www\.fileserve\.com/file/.*?)' LINKCHECK_TD = r'(?:<[^>]*>| )*([^<]*)' - CAPTCHA_KEY_PATTERN = r"var reCAPTCHA_publickey='(?P[^']+)'" + CAPTCHA_KEY_PATTERN = r'var reCAPTCHA_publickey=\'(?P.+?)\'' LONG_WAIT_PATTERN = r'
  • You need to wait (\d+) (\w+) to start another download\.
  • ' LINK_EXPIRED_PATTERN = r'Your download link has expired' DAILY_LIMIT_PATTERN = r'Your daily download limit has been reached' diff --git a/module/plugins/hoster/GamefrontCom.py b/module/plugins/hoster/GamefrontCom.py index a9faf6783..b7e7f0bc8 100644 --- a/module/plugins/hoster/GamefrontCom.py +++ b/module/plugins/hoster/GamefrontCom.py @@ -21,7 +21,7 @@ class GamefrontCom(Hoster): PATTERN_FILENAME = r'(.*?) | Game Front' PATTERN_FILESIZE = r'<dt>File Size:</dt>[\n\s]*<dd>(.*?)</dd>' - PATTERN_OFFLINE = r"This file doesn't exist, or has been removed." + PATTERN_OFFLINE = r'This file doesn\'t exist, or has been removed.' def setup(self): diff --git a/module/plugins/hoster/IfileIt.py b/module/plugins/hoster/IfileIt.py index e368f5f78..6fb8e992f 100644 --- a/module/plugins/hoster/IfileIt.py +++ b/module/plugins/hoster/IfileIt.py @@ -20,7 +20,7 @@ class IfileIt(SimpleHoster): LINK_PATTERN = r'</span> If it doesn\'t, <a target="_blank" href="([^"]+)">' - RECAPTCHA_PATTERN = r"var __recaptcha_public\s*=\s*'([^']+)';" + RECAPTCHA_PATTERN = r'var __recaptcha_public\s*=\s*\'(.+?)\'' FILE_INFO_PATTERN = r'<span style="cursor: default;[^>]*>\s*(?P<N>.*?)\s* \s*<strong>\s*(?P<S>[\d.,]+)\s*(?P<U>\w+)\s*</strong>\s*</span>' OFFLINE_PATTERN = r'<span style="cursor: default;[^>]*>\s* \s*<strong>\s*</strong>\s*</span>' TEMP_OFFLINE_PATTERN = r'<span class="msg_red">Downloading of this file is temporarily disabled</span>' diff --git a/module/plugins/hoster/IfolderRu.py b/module/plugins/hoster/IfolderRu.py index 63b49dad8..774761049 100644 --- a/module/plugins/hoster/IfolderRu.py +++ b/module/plugins/hoster/IfolderRu.py @@ -24,7 +24,7 @@ class IfolderRu(SimpleHoster): SESSION_ID_PATTERN = r'<a href=(http://ints\.(?:rusfolder\.com|ifolder\.ru)/ints/sponsor/\?bi=\d*&session=([^&]+)&u=[^>]+)>' INTS_SESSION_PATTERN = r'\(\'ints_session\'\);\s*if\(tag\)\{tag\.value = "([^"]+)";\}' - HIDDEN_INPUT_PATTERN = r"var v = .*?name='([^']+)' value='1'" + HIDDEN_INPUT_PATTERN = r'var v = .*?name=\'(.+?)\' value=\'1\'' LINK_PATTERN = r'<a id="download_file_href" href="([^"]+)"' WRONG_CAPTCHA_PATTERN = ur'<font color=Red>неверный код,<br>введите еще раз</font><br>' diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py index 68d768b7c..17e638a18 100644 --- a/module/plugins/hoster/LetitbitNet.py +++ b/module/plugins/hoster/LetitbitNet.py @@ -51,7 +51,7 @@ class LetitbitNet(SimpleHoster): HOSTER_NAME = "letitbit.net" SECONDS_PATTERN = r'seconds\s*=\s*(\d+);' - CAPTCHA_CONTROL_FIELD = r"recaptcha_control_field\s=\s'(?P<value>[^']+)'" + CAPTCHA_CONTROL_FIELD = r'recaptcha_control_field\s=\s\'(?P<value>.+?)\'' def setup(self): diff --git a/module/plugins/hoster/LuckyShareNet.py b/module/plugins/hoster/LuckyShareNet.py index 99acc5ef8..1637adac0 100644 --- a/module/plugins/hoster/LuckyShareNet.py +++ b/module/plugins/hoster/LuckyShareNet.py @@ -20,7 +20,7 @@ class LuckyShareNet(SimpleHoster): __authors__ = [("stickell", "l.stickell@yahoo.it")] - FILE_INFO_PATTERN = r"<h1 class='file_name'>(?P<N>\S+)</h1>\s*<span class='file_size'>Filesize: (?P<S>[\d.,]+)(?P<U>\w+)</span>" + FILE_INFO_PATTERN = r'<h1 class=\'file_name\'>(?P<N>\S+)</h1>\s*<span class=\'file_size\'>Filesize: (?P<S>[\d.,]+)(?P<U>\w+)</span>' OFFLINE_PATTERN = r'There is no such file available' diff --git a/module/plugins/hoster/MediafireCom.py b/module/plugins/hoster/MediafireCom.py index 187ef4c2a..6d29d4db3 100644 --- a/module/plugins/hoster/MediafireCom.py +++ b/module/plugins/hoster/MediafireCom.py @@ -58,13 +58,13 @@ class MediafireCom(SimpleHoster): LINK_PATTERN = r'<div class="download_link"[^>]*(?:z-index:(?P<zindex>\d+))?[^>]*>\s*<a href="(?P<href>http://[^"]+)"' - JS_KEY_PATTERN = r"DoShow\('mfpromo1'\);[^{]*{((\w+)='';.*?)eval\(\2\);" - JS_ZMODULO_PATTERN = r"\('z-index'\)\) \% (\d+)\)\);" + JS_KEY_PATTERN = r'DoShow\(\'mfpromo1\'\);[^{]*{((\w+)=\'\';.*?)eval\(\2\);' + JS_ZMODULO_PATTERN = r'\(\'z-index\'\)\) \% (\d+)\)\);' PAGE1_ACTION_PATTERN = r'<link rel="canonical" href="([^"]+)"/>' PASSWORD_PATTERN = r'<form name="form_password"' FILE_NAME_PATTERN = r'<META NAME="description" CONTENT="(?P<N>[^"]+)"/>' - FILE_INFO_PATTERN = r"oFileSharePopup\.ald\('(?P<ID>[^']*)','(?P<N>[^']*)','(?P<S>[^']*)','','(?P<sha256>[^']*)'\)" + FILE_INFO_PATTERN = r'oFileSharePopup\.ald\(\'(?P<ID>[^\']*)\',\'(?P<N>[^\']*)\',\'(?P<S>[^\']*)\',\'\',\'(?P<sha256>[^\']*)\'\)' OFFLINE_PATTERN = r'class="error_msg_title"> Invalid or Deleted File. </div>' diff --git a/module/plugins/hoster/MyvideoDe.py b/module/plugins/hoster/MyvideoDe.py index be2482970..1f02b5b69 100644 --- a/module/plugins/hoster/MyvideoDe.py +++ b/module/plugins/hoster/MyvideoDe.py @@ -34,7 +34,7 @@ class MyvideoDe(Hoster): return file_url def get_file_name(self): - file_name_pattern = r"<h1 class='globalHd'>(.*)</h1>" + file_name_pattern = r'<h1 class=\'globalHd\'>(.*)</h1>' return unescape(re.search(file_name_pattern, self.html).group(1).replace("/", "") + '.flv') def file_exists(self): diff --git a/module/plugins/hoster/NetloadIn.py b/module/plugins/hoster/NetloadIn.py index becfa56dd..0c255afbe 100644 --- a/module/plugins/hoster/NetloadIn.py +++ b/module/plugins/hoster/NetloadIn.py @@ -229,13 +229,13 @@ class NetloadIn(Hoster): def get_file_url(self, page): try: - file_url_pattern = r"<a class=\"Orange_Link\" href=\"(http://.+)\".?>Or click here" + file_url_pattern = r'<a class="Orange_Link" href="(http://.+)".?>Or click here' attempt = re.search(file_url_pattern, page) if attempt is not None: return attempt.group(1) else: self.logDebug("Netload: Backup try for final link") - file_url_pattern = r"<a href=\"(.+)\" class=\"Orange_Link\">Click here" + file_url_pattern = r'<a href="(.+)" class="Orange_Link">Click here' attempt = re.search(file_url_pattern, page) return "http://netload.in/" + attempt.group(1) except: diff --git a/module/plugins/hoster/PromptfileCom.py b/module/plugins/hoster/PromptfileCom.py index 8d2f7c750..548f510fe 100644 --- a/module/plugins/hoster/PromptfileCom.py +++ b/module/plugins/hoster/PromptfileCom.py @@ -21,7 +21,7 @@ class PromptfileCom(SimpleHoster): OFFLINE_PATTERN = r'<span style="[^"]*" title="File Not Found">File Not Found</span>' CHASH_PATTERN = r'<input type="hidden" name="chash" value="([^"]*)" />' - LINK_PATTERN = r"clip: {\s*url: '(https?://(?:www\.)promptfile[^']*)'," + LINK_PATTERN = r'clip: {\s*url: \'(https?://(?:www\.)promptfile[^\']*)\',' def handleFree(self): diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 37b36ecfe..639e70ffa 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -32,11 +32,11 @@ class RapidgatorNet(SimpleHoster): FILE_SIZE_PATTERN = r'File size:\s*<strong>(?P<S>[\d.,]+) (?P<U>\w+)</strong>' OFFLINE_PATTERN = r'>(File not found|Error 404)' - JSVARS_PATTERN = r"\s+var\s*(startTimerUrl|getDownloadUrl|captchaUrl|fid|secs)\s*=\s*'?(.*?)'?;" + JSVARS_PATTERN = r'\s+var\s*(startTimerUrl|getDownloadUrl|captchaUrl|fid|secs)\s*=\s*\'?(.*?)\'?;' PREMIUM_ONLY_ERROR_PATTERN = r'You can download files up to|This file can be downloaded by premium only<' DOWNLOAD_LIMIT_ERROR_PATTERN = r'You have reached your (daily|hourly) downloads limit' WAIT_PATTERN = r'(?:Delay between downloads must be not less than|Try again in)\s*(\d+)\s*(hour|min)' - LINK_PATTERN = r"return '(http://\w+.rapidgator.net/.*)';" + LINK_PATTERN = r'return \'(http://\w+.rapidgator.net/.*)\';' RECAPTCHA_PATTERN = r'"http://api\.recaptcha\.net/challenge\?k=(.*?)"' ADSCAPTCHA_PATTERN = r'(http://api\.adscaptcha\.com/Get\.aspx[^"\']*)' diff --git a/module/plugins/hoster/SpeedyshareCom.py b/module/plugins/hoster/SpeedyshareCom.py index 11b327475..c3acfc1e8 100644 --- a/module/plugins/hoster/SpeedyshareCom.py +++ b/module/plugins/hoster/SpeedyshareCom.py @@ -15,7 +15,7 @@ class SpeedyshareCom(SimpleHoster): __type__ = "hoster" __version__ = "0.02" - __pattern__ = r"https?://(?:www\.)?(speedyshare\.com|speedy\.sh)/\w+" + __pattern__ = r'https?://(?:www\.)?(speedyshare\.com|speedy\.sh)/\w+' __description__ = """Speedyshare.com hoster plugin""" __license__ = "GPLv3" diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py index 1eb3c98e9..c48bbd8b8 100644 --- a/module/plugins/hoster/TurbobitNet.py +++ b/module/plugins/hoster/TurbobitNet.py @@ -36,7 +36,7 @@ class TurbobitNet(SimpleHoster): COOKIES = [(".turbobit.net", "user_lang", "en")] LINK_PATTERN = r'(?P<url>/download/redirect/[^"\']+)' - LIMIT_WAIT_PATTERN = r"<div id='timeout'>(\d+)<" + LIMIT_WAIT_PATTERN = r'<div id=\'timeout\'>(\d+)<' CAPTCHA_URL_PATTERN = r'<img alt="Captcha" src="(.+?)"' diff --git a/module/plugins/hoster/TwoSharedCom.py b/module/plugins/hoster/TwoSharedCom.py index 03dad69dd..280f1d910 100644 --- a/module/plugins/hoster/TwoSharedCom.py +++ b/module/plugins/hoster/TwoSharedCom.py @@ -21,7 +21,7 @@ class TwoSharedCom(SimpleHoster): FILE_SIZE_PATTERN = r'<span class="dtitle">File size:</span>\s*(?P<S>[\d.,]+) (?P<U>\w+)' OFFLINE_PATTERN = r'The file link that you requested is not valid\.|This file was deleted\.' - LINK_PATTERN = r"window.location ='([^']+)';" + LINK_PATTERN = r'window.location =\'(.+?)\';' def setup(self): diff --git a/module/plugins/hoster/XHamsterCom.py b/module/plugins/hoster/XHamsterCom.py index 6dc9b4a29..dae9a8eae 100644 --- a/module/plugins/hoster/XHamsterCom.py +++ b/module/plugins/hoster/XHamsterCom.py @@ -98,16 +98,16 @@ class XHamsterCom(Hoster): if not self.html: self.download_html() - pattern = r"<title>(.*?) - xHamster\.com" + pattern = r'(.*?) - xHamster\.com' name = re.search(pattern, self.html) if name is None: - pattern = r"

    (.*)

    " + pattern = r'

    (.*)

    ' name = re.search(pattern, self.html) if name is None: - pattern = r"http://[www.]+xhamster\.com/movies/.*/(.*?)\.html?" + pattern = r'http://[www.]+xhamster\.com/movies/.*/(.*?)\.html?' name = re.match(file_name_pattern, self.pyfile.url) if name is None: - pattern = r"
    (.*)
    " + pattern = r'' name = re.search(pattern, self.html) if name is None: return "Unknown" diff --git a/module/plugins/hoster/YibaishiwuCom.py b/module/plugins/hoster/YibaishiwuCom.py index bbf6e7bbe..803c7d1c3 100644 --- a/module/plugins/hoster/YibaishiwuCom.py +++ b/module/plugins/hoster/YibaishiwuCom.py @@ -18,8 +18,8 @@ class YibaishiwuCom(SimpleHoster): __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] - FILE_NAME_PATTERN = r"file_name: '(?P[^']+)'" - FILE_SIZE_PATTERN = r"file_size: '(?P[^']+)'" + FILE_NAME_PATTERN = r'file_name: \'(?P.+?)\'' + FILE_SIZE_PATTERN = r'file_size: \'(?P.+?)\'' OFFLINE_PATTERN = ur'

    哎呀!提取码不存在!不妨搜搜看吧!

    ' LINK_PATTERN = r'(/\?ct=(pickcode|download)[^"\']+)' diff --git a/module/plugins/hoster/YoupornCom.py b/module/plugins/hoster/YoupornCom.py index 692c63286..37788b9f7 100644 --- a/module/plugins/hoster/YoupornCom.py +++ b/module/plugins/hoster/YoupornCom.py @@ -42,7 +42,7 @@ class YoupornCom(Hoster): if not self.html: self.download_html() - file_name_pattern = r"(.*) - Free Porn Videos - YouPorn" + file_name_pattern = r'(.+) - ' return re.search(file_name_pattern, self.html).group(1).replace("&", "&").replace("/", "") + '.flv' def file_exists(self): -- cgit v1.2.3 From 37fcdffac990eaf024fdc33a026fcf566e9e263f Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 11 Oct 2014 23:59:07 +0200 Subject: [MegaNz] Fix decryptAttr --- module/plugins/hoster/MegaNz.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/MegaNz.py b/module/plugins/hoster/MegaNz.py index 91719b86b..2e6aaa273 100644 --- a/module/plugins/hoster/MegaNz.py +++ b/module/plugins/hoster/MegaNz.py @@ -16,7 +16,7 @@ from module.plugins.Hoster import Hoster class MegaNz(Hoster): __name__ = "MegaNz" __type__ = "hoster" - __version__ = "0.14" + __version__ = "0.15" __pattern__ = r'https?://(\w+\.)?mega\.co\.nz/#!([\w!-]+)' @@ -33,12 +33,14 @@ class MegaNz(Hoster): data = data.replace("-", "+").replace("_", "/") return standard_b64decode(data + '=' * (-len(data) % 4)) + def getCipherKey(self, key): """ Construct the cipher key from the given data """ a = array("I", key) key_array = array("I", [a[0] ^ a[4], a[1] ^ a[5], a[2] ^ a[6], a[3] ^ a[7]]) return key_array + def callApi(self, **kwargs): """ Dispatch a call to the api, see https://mega.co.nz/#developers """ # generate a session id, no idea where to obtain elsewhere @@ -48,8 +50,8 @@ class MegaNz(Hoster): self.logDebug("Api Response: " + resp) return json_loads(resp) - def decryptAttr(self, data, key): + def decryptAttr(self, data, key): cbc = AES.new(self.getCipherKey(key), AES.MODE_CBC, "\0" * 16) attr = cbc.decrypt(self.b64_decode(data)) self.logDebug("Decrypted Attr: " + attr) @@ -57,7 +59,8 @@ class MegaNz(Hoster): self.fail(_("Decryption failed")) # Data is padded, 0-bytes must be stripped - return json_loads(attr.replace("MEGA", "").rstrip("\0").strip()) + return json_loads(re.search(r'{.+?}', attr).group(0)) + def decryptFile(self, key): """ Decrypts the file at lastDownload` """ @@ -92,8 +95,8 @@ class MegaNz(Hoster): self.lastDownload = file_decrypted - def process(self, pyfile): + def process(self, pyfile): key = None # match is guaranteed because plugin was chosen to handle url -- cgit v1.2.3 From e0c2edca2a55472a5bf15051a093b789627d1d91 Mon Sep 17 00:00:00 2001 From: guidobelix <guidobelix@hotmail.it> Date: Tue, 14 Oct 2014 13:05:56 +0200 Subject: New plugin JunocloudMe (hoster + account) --- module/plugins/hoster/JunocloudMe.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 module/plugins/hoster/JunocloudMe.py (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/JunocloudMe.py b/module/plugins/hoster/JunocloudMe.py new file mode 100644 index 000000000..e51dda141 --- /dev/null +++ b/module/plugins/hoster/JunocloudMe.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo + + +class JunocloudMe(XFSPHoster): + __name__ = "JunocloudMe" + __type__ = "hoster" + __version__ = "0.01" + + __pattern__ = r'http://(?:\w+\.)?junocloud\.me/\w{12}' + + __description__ = """Junocloud.me hoster plugin""" + __license__ = "GPLv3" + __authors__ = [("guidobelix", "guidobelix@hotmail.it")] + + + HOSTER_NAME = "junocloud.me" + + FILE_URL_REPLACEMENTS = [(r'//(junocloud)', r'//dl3.\1')] + + FILE_NAME_PATTERN = r'<p class="request_file">http://junocloud.me/w{12}/(?P<N>.+?)</p>' + FILE_SIZE_PATTERN = r'<p class="request_filesize">Size: (?P<S>[\d.,]+) (?P<U>\w+)</p>' + + OFFLINE_PATTERN = r'>No such file with this filename<' + TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' + + +getInfo = create_getInfo(JunocloudMe) -- cgit v1.2.3 From 388a2f6478d42e423f1f8442d8539983f3762f22 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 14 Oct 2014 13:38:49 +0200 Subject: Improve unit detection in size pattern --- module/plugins/hoster/BayfilesCom.py | 2 +- module/plugins/hoster/BillionuploadsCom.py | 2 +- module/plugins/hoster/BitshareCom.py | 2 +- module/plugins/hoster/CatShareNet.py | 2 +- module/plugins/hoster/CzshareCom.py | 2 +- module/plugins/hoster/DepositfilesCom.py | 2 +- module/plugins/hoster/DevhostSt.py | 2 +- module/plugins/hoster/DropboxCom.py | 2 +- module/plugins/hoster/EdiskCz.py | 2 +- module/plugins/hoster/FastshareCz.py | 2 +- module/plugins/hoster/FileStoreTo.py | 2 +- module/plugins/hoster/FilefactoryCom.py | 2 +- module/plugins/hoster/FileomCom.py | 2 +- module/plugins/hoster/FilepostCom.py | 2 +- module/plugins/hoster/FilepupNet.py | 2 +- module/plugins/hoster/FilerNet.py | 2 +- module/plugins/hoster/FourSharedCom.py | 2 +- module/plugins/hoster/FshareVn.py | 2 +- module/plugins/hoster/HellshareCz.py | 2 +- module/plugins/hoster/HundredEightyUploadCom.py | 2 +- module/plugins/hoster/IfileIt.py | 2 +- module/plugins/hoster/JumbofilesCom.py | 2 +- module/plugins/hoster/JunocloudMe.py | 2 +- module/plugins/hoster/KingfilesNet.py | 2 +- module/plugins/hoster/LoadTo.py | 2 +- module/plugins/hoster/LomafileCom.py | 2 +- module/plugins/hoster/LuckyShareNet.py | 2 +- module/plugins/hoster/MegaRapidCz.py | 2 +- module/plugins/hoster/MegasharesCom.py | 2 +- module/plugins/hoster/MovReelCom.py | 2 +- module/plugins/hoster/NosuploadCom.py | 2 +- module/plugins/hoster/NowDownloadEu.py | 2 +- module/plugins/hoster/OneFichierCom.py | 2 +- module/plugins/hoster/PromptfileCom.py | 2 +- module/plugins/hoster/QuickshareCz.py | 2 +- module/plugins/hoster/RapidgatorNet.py | 2 +- module/plugins/hoster/RemixshareCom.py | 2 +- module/plugins/hoster/RyushareCom.py | 2 +- module/plugins/hoster/SendspaceCom.py | 2 +- module/plugins/hoster/TurbobitNet.py | 2 +- module/plugins/hoster/TusfilesNet.py | 2 +- module/plugins/hoster/TwoSharedCom.py | 2 +- module/plugins/hoster/UloziskoSk.py | 2 +- module/plugins/hoster/UploadingCom.py | 2 +- module/plugins/hoster/UpstoreNet.py | 2 +- module/plugins/hoster/UptoboxCom.py | 2 +- module/plugins/hoster/ZippyshareCom.py | 2 +- 47 files changed, 47 insertions(+), 47 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/BayfilesCom.py b/module/plugins/hoster/BayfilesCom.py index 5f097ee2f..d38987227 100644 --- a/module/plugins/hoster/BayfilesCom.py +++ b/module/plugins/hoster/BayfilesCom.py @@ -21,7 +21,7 @@ class BayfilesCom(SimpleHoster): ("Walter Purcaro", "vuolter@gmail.com")] - FILE_INFO_PATTERN = r'<p title="(?P<N>[^"]+)">[^<]*<strong>(?P<S>[\d .,]+)(?P<U>\w+)</strong></p>' + FILE_INFO_PATTERN = r'<p title="(?P<N>[^"]+)">[^<]*<strong>(?P<S>[\d .,]+)(?P<U>[\w^_]+)</strong></p>' OFFLINE_PATTERN = r'(<p>The requested file could not be found.</p>|<title>404 Not Found)' WAIT_PATTERN = r'>Your IP [\d.]* has recently downloaded a file\. Upgrade to premium or wait (\d+) minutes\.<' diff --git a/module/plugins/hoster/BillionuploadsCom.py b/module/plugins/hoster/BillionuploadsCom.py index 7024a9472..2e12ba3cc 100644 --- a/module/plugins/hoster/BillionuploadsCom.py +++ b/module/plugins/hoster/BillionuploadsCom.py @@ -18,7 +18,7 @@ class BillionuploadsCom(XFSPHoster): HOSTER_NAME = "billionuploads.com" FILE_NAME_PATTERN = r'(?P[\d.,]+) (?P\w+)' + FILE_SIZE_PATTERN = r'(?P[\d.,]+) (?P[\w^_]+)' getInfo = create_getInfo(BillionuploadsCom) diff --git a/module/plugins/hoster/BitshareCom.py b/module/plugins/hoster/BitshareCom.py index 1b70b1710..8fd8892be 100644 --- a/module/plugins/hoster/BitshareCom.py +++ b/module/plugins/hoster/BitshareCom.py @@ -21,7 +21,7 @@ class BitshareCom(SimpleHoster): ("fragonib", "fragonib[AT]yahoo[DOT]es")] - FILE_INFO_PATTERN = r'Downloading (?P.+) - (?P[\d.,]+) (?P\w+)' + FILE_INFO_PATTERN = r'Downloading (?P.+) - (?P[\d.,]+) (?P[\w^_]+)' OFFLINE_PATTERN = r'(>We are sorry, but the requested file was not found in our database|>Error - File not available<|The file was deleted either by the uploader, inactivity or due to copyright claim)' COOKIES = [(".bitshare.com", "language_selection", "EN")] diff --git a/module/plugins/hoster/CatShareNet.py b/module/plugins/hoster/CatShareNet.py index 9d680a9ec..592792952 100644 --- a/module/plugins/hoster/CatShareNet.py +++ b/module/plugins/hoster/CatShareNet.py @@ -22,7 +22,7 @@ class CatShareNet(SimpleHoster): TEXT_ENCODING = True - FILE_INFO_PATTERN = r'(?P<N>.+) \((?P<S>[\d.,]+) (?P<U>\w+)\)<' + FILE_INFO_PATTERN = r'<title>(?P<N>.+) \((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)<' OFFLINE_PATTERN = ur'Podany plik został usunięty\s*</div>' IP_BLOCKED_PATTERN = ur'>Nasz serwis wykrył że Twój adres IP nie pochodzi z Polski.<' diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index 9d2b8b35f..0ddca1473 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -22,7 +22,7 @@ class CzshareCom(SimpleHoster): FILE_NAME_PATTERN = r'<div class="tab" id="parameters">\s*<p>\s*Cel. n.zev: <a href=[^>]*>(?P<N>[^<]+)</a>' - FILE_SIZE_PATTERN = r'<div class="tab" id="category">(?:\s*<p>[^\n]*</p>)*\s*Velikost:\s*(?P<S>[\d .,]+)(?P<U>\w+)\s*</div>' + FILE_SIZE_PATTERN = r'<div class="tab" id="category">(?:\s*<p>[^\n]*</p>)*\s*Velikost:\s*(?P<S>[\d .,]+)(?P<U>[\w^_]+)\s*</div>' OFFLINE_PATTERN = r'<div class="header clearfix">\s*<h2 class="red">' FILE_SIZE_REPLACEMENTS = [(' ', '')] diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index 96540d454..5ec690a97 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -23,7 +23,7 @@ class DepositfilesCom(SimpleHoster): FILE_NAME_PATTERN = r'<script type="text/javascript">eval\( unescape\(\'(?P<N>.*?)\'' - FILE_SIZE_PATTERN = r': <b>(?P<S>[\d.,]+) (?P<U>\w+)</b>' + FILE_SIZE_PATTERN = r': <b>(?P<S>[\d.,]+) (?P<U>[\w^_]+)</b>' OFFLINE_PATTERN = r'<span class="html_download_api-not_exists"></span>' FILE_NAME_REPLACEMENTS = [(r'\%u([0-9A-Fa-f]{4})', lambda m: unichr(int(m.group(1), 16))), diff --git a/module/plugins/hoster/DevhostSt.py b/module/plugins/hoster/DevhostSt.py index 9b59ff5df..5c9055ca0 100644 --- a/module/plugins/hoster/DevhostSt.py +++ b/module/plugins/hoster/DevhostSt.py @@ -21,7 +21,7 @@ class DevhostSt(SimpleHoster): FILE_NAME_PATTERN = r'>Filename:</span> <div title="(?P<N>.+?)"' - FILE_SIZE_PATTERN = r'>Size:</span> (?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'>Size:</span> (?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>File Not Found<' LINK_PATTERN = r'id="downloadfile" href="(.+?)"' diff --git a/module/plugins/hoster/DropboxCom.py b/module/plugins/hoster/DropboxCom.py index 4f9945d91..01d06e842 100644 --- a/module/plugins/hoster/DropboxCom.py +++ b/module/plugins/hoster/DropboxCom.py @@ -18,7 +18,7 @@ class DropboxCom(SimpleHoster): FILE_NAME_PATTERN = r'<title>Dropbox - (?P<N>.+?)<' - FILE_SIZE_PATTERN = r' ·  (?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r' ·  (?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'<title>Dropbox - (404|Shared link error)<' diff --git a/module/plugins/hoster/EdiskCz.py b/module/plugins/hoster/EdiskCz.py index 9645b9834..afcd18e56 100644 --- a/module/plugins/hoster/EdiskCz.py +++ b/module/plugins/hoster/EdiskCz.py @@ -17,7 +17,7 @@ class EdiskCz(SimpleHoster): __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] - FILE_INFO_PATTERN = r'<span class="fl" title="(?P<N>[^"]+)">\s*.*?\((?P<S>[\d.,]+) (?P<U>\w+)\)</h1></span>' + FILE_INFO_PATTERN = r'<span class="fl" title="(?P<N>[^"]+)">\s*.*?\((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)</h1></span>' OFFLINE_PATTERN = r'<h3>This file does not exist due to one of the following:</h3><ul><li>' ACTION_PATTERN = r'/en/download/(\d+/.*\.html)' diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py index db85ae0ed..8c00aeef4 100644 --- a/module/plugins/hoster/FastshareCz.py +++ b/module/plugins/hoster/FastshareCz.py @@ -24,7 +24,7 @@ class FastshareCz(SimpleHoster): ("Walter Purcaro", "vuolter@gmail.com")] - FILE_INFO_PATTERN = r'<h1 class="dwp">(?P<N>[^<]+)</h1>\s*<div class="fileinfo">\s*Size\s*: (?P<S>\d+) (?P<U>\w+),' + FILE_INFO_PATTERN = r'<h1 class="dwp">(?P<N>[^<]+)</h1>\s*<div class="fileinfo">\s*Size\s*: (?P<S>\d+) (?P<U>[\w^_]+),' OFFLINE_PATTERN = r'>(The file has been deleted|Requested page not found)' FILE_URL_REPLACEMENTS = [("#.*", "")] diff --git a/module/plugins/hoster/FileStoreTo.py b/module/plugins/hoster/FileStoreTo.py index 89865e8be..549335a04 100644 --- a/module/plugins/hoster/FileStoreTo.py +++ b/module/plugins/hoster/FileStoreTo.py @@ -18,7 +18,7 @@ class FileStoreTo(SimpleHoster): ("stickell", "l.stickell@yahoo.it")] - FILE_INFO_PATTERN = r'File: <span[^>]*>(?P<N>.+)</span><br />Size: (?P<S>[\d.,]+) (?P<U>\w+)' + FILE_INFO_PATTERN = r'File: <span[^>]*>(?P<N>.+)</span><br />Size: (?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>Download-Datei wurde nicht gefunden<' diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py index 15f44ad61..8d231e350 100644 --- a/module/plugins/hoster/FilefactoryCom.py +++ b/module/plugins/hoster/FilefactoryCom.py @@ -29,7 +29,7 @@ class FilefactoryCom(SimpleHoster): __authors__ = [("stickell", "l.stickell@yahoo.it")] - FILE_INFO_PATTERN = r'<div id="file_name"[^>]*>\s*<h2>(?P<N>[^<]+)</h2>\s*<div id="file_info">\s*(?P<S>[\d.,]+) (?P<U>\w+) uploaded' + FILE_INFO_PATTERN = r'<div id="file_name"[^>]*>\s*<h2>(?P<N>[^<]+)</h2>\s*<div id="file_info">\s*(?P<S>[\d.,]+) (?P<U>[\w^_]+) uploaded' LINK_PATTERN = r'<a href="(https?://[^"]+)"[^>]*><i[^>]*></i> Download with FileFactory Premium</a>' OFFLINE_PATTERN = r'<h2>File Removed</h2>|This file is no longer available' PREMIUM_ONLY_PATTERN = r'>Premium Account Required<' diff --git a/module/plugins/hoster/FileomCom.py b/module/plugins/hoster/FileomCom.py index 6c8be59da..60ab5c5f9 100644 --- a/module/plugins/hoster/FileomCom.py +++ b/module/plugins/hoster/FileomCom.py @@ -23,7 +23,7 @@ class FileomCom(XFSPHoster): FILE_URL_REPLACEMENTS = [(r'/$', "")] FILE_NAME_PATTERN = r'Filename: <span>(?P<N>.+?)<' - FILE_SIZE_PATTERN = r'File Size: <span class="size">(?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'File Size: <span class="size">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' ERROR_PATTERN = r'class=["\']err["\'][^>]*>(.*?)(?:\'|</)' diff --git a/module/plugins/hoster/FilepostCom.py b/module/plugins/hoster/FilepostCom.py index 4449ae2c2..f833ab737 100644 --- a/module/plugins/hoster/FilepostCom.py +++ b/module/plugins/hoster/FilepostCom.py @@ -21,7 +21,7 @@ class FilepostCom(SimpleHoster): __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] - FILE_INFO_PATTERN = r'<input type="text" id="url" value=\'<a href[^>]*>(?P<N>[^>]+?) - (?P<S>[\d.,]+) (?P<U>\w+)</a>\' class="inp_text"/>' + FILE_INFO_PATTERN = r'<input type="text" id="url" value=\'<a href[^>]*>(?P<N>[^>]+?) - (?P<S>[\d.,]+) (?P<U>[\w^_]+)</a>\' class="inp_text"/>' OFFLINE_PATTERN = r'class="error_msg_title"> Invalid or Deleted File. </div>|<div class="file_info file_info_deleted">' PREMIUM_ONLY_PATTERN = r'members only. Please upgrade to premium|a premium membership is required to download this file' diff --git a/module/plugins/hoster/FilepupNet.py b/module/plugins/hoster/FilepupNet.py index 1180f7f9e..39979b2a2 100644 --- a/module/plugins/hoster/FilepupNet.py +++ b/module/plugins/hoster/FilepupNet.py @@ -23,7 +23,7 @@ class FilepupNet(SimpleHoster): FILE_NAME_PATTERN = r'>(?P<N>.+?)</h1>' - FILE_SIZE_PATTERN = r'class="fa fa-archive"></i> \((?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'class="fa fa-archive"></i> \((?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>This file has been deleted' diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py index 31bb7082a..c8211b435 100644 --- a/module/plugins/hoster/FilerNet.py +++ b/module/plugins/hoster/FilerNet.py @@ -25,7 +25,7 @@ class FilerNet(SimpleHoster): __authors__ = [("stickell", "l.stickell@yahoo.it")] - FILE_INFO_PATTERN = r'<h1 class="page-header">Free Download (?P<N>\S+) <small>(?P<S>[\w.]+) (?P<U>\w+)</small></h1>' + FILE_INFO_PATTERN = r'<h1 class="page-header">Free Download (?P<N>\S+) <small>(?P<S>[\w.]+) (?P<U>[\w^_]+)</small></h1>' OFFLINE_PATTERN = r'Nicht gefunden' LINK_PATTERN = r'href="([^"]+)">Get download</a>' diff --git a/module/plugins/hoster/FourSharedCom.py b/module/plugins/hoster/FourSharedCom.py index a36f43eea..348a027fe 100644 --- a/module/plugins/hoster/FourSharedCom.py +++ b/module/plugins/hoster/FourSharedCom.py @@ -19,7 +19,7 @@ class FourSharedCom(SimpleHoster): FILE_NAME_PATTERN = r'<meta name="title" content="(?P<N>.+?)"' - FILE_SIZE_PATTERN = r'<span title="Size: (?P<S>[\d.,]+) (?P<U>\w+)">' + FILE_SIZE_PATTERN = r'<span title="Size: (?P<S>[\d.,]+) (?P<U>[\w^_]+)">' OFFLINE_PATTERN = r'The file link that you requested is not valid\.|This file was deleted.' FILE_NAME_REPLACEMENTS = [(r"&#(\d+).", lambda m: unichr(int(m.group(1))))] diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py index 4d01d7c7f..2f95d49e6 100644 --- a/module/plugins/hoster/FshareVn.py +++ b/module/plugins/hoster/FshareVn.py @@ -36,7 +36,7 @@ class FshareVn(SimpleHoster): __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] - FILE_INFO_PATTERN = r'<p>(?P<N>[^<]+)<\\/p>[\\trn\s]*<p>(?P<S>[\d.,]+)\s*(?P<U>\w+)<\\/p>' + FILE_INFO_PATTERN = r'<p>(?P<N>[^<]+)<\\/p>[\\trn\s]*<p>(?P<S>[\d.,]+)\s*(?P<U>[\w^_]+)<\\/p>' OFFLINE_PATTERN = r'<div class=\\"f_left file_w\\"|<\\/p>\\t\\t\\t\\t\\r\\n\\t\\t<p><\\/p>\\t\\t\\r\\n\\t\\t<p>0 KB<\\/p>' FILE_NAME_REPLACEMENTS = [("(.*)", doubleDecode)] diff --git a/module/plugins/hoster/HellshareCz.py b/module/plugins/hoster/HellshareCz.py index 00fc17fba..ddb7682b1 100644 --- a/module/plugins/hoster/HellshareCz.py +++ b/module/plugins/hoster/HellshareCz.py @@ -18,7 +18,7 @@ class HellshareCz(SimpleHoster): FILE_NAME_PATTERN = r'<h1 id="filename"[^>]*>(?P<N>[^<]+)</h1>' - FILE_SIZE_PATTERN = r'<strong id="FileSize_master">(?P<S>[\d.,]+) (?P<U>\w+)</strong>' + FILE_SIZE_PATTERN = r'<strong id="FileSize_master">(?P<S>[\d.,]+) (?P<U>[\w^_]+)</strong>' OFFLINE_PATTERN = r'<h1>File not found.</h1>' SHOW_WINDOW_PATTERN = r'<a href="([^?]+/(\d+)/\?do=(fileDownloadButton|relatedFileDownloadButton-\2)-showDownloadWindow)"' diff --git a/module/plugins/hoster/HundredEightyUploadCom.py b/module/plugins/hoster/HundredEightyUploadCom.py index 02bdf80fa..c16800563 100644 --- a/module/plugins/hoster/HundredEightyUploadCom.py +++ b/module/plugins/hoster/HundredEightyUploadCom.py @@ -21,7 +21,7 @@ class HundredEightyUploadCom(XFSPHoster): HOSTER_NAME = "180upload.com" FILE_NAME_PATTERN = r'Filename:</b></td><td nowrap>(?P<N>.+)</td></tr>-->' - FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.,]+) (?P<U>\w+)\s*<small>' + FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.,]+) (?P<U>[\w^_]+)\s*<small>' getInfo = create_getInfo(HundredEightyUploadCom) diff --git a/module/plugins/hoster/IfileIt.py b/module/plugins/hoster/IfileIt.py index 6fb8e992f..e6bd4fd04 100644 --- a/module/plugins/hoster/IfileIt.py +++ b/module/plugins/hoster/IfileIt.py @@ -21,7 +21,7 @@ class IfileIt(SimpleHoster): LINK_PATTERN = r'</span> If it doesn\'t, <a target="_blank" href="([^"]+)">' RECAPTCHA_PATTERN = r'var __recaptcha_public\s*=\s*\'(.+?)\'' - FILE_INFO_PATTERN = r'<span style="cursor: default;[^>]*>\s*(?P<N>.*?)\s* \s*<strong>\s*(?P<S>[\d.,]+)\s*(?P<U>\w+)\s*</strong>\s*</span>' + FILE_INFO_PATTERN = r'<span style="cursor: default;[^>]*>\s*(?P<N>.*?)\s* \s*<strong>\s*(?P<S>[\d.,]+)\s*(?P<U>[\w^_]+)\s*</strong>\s*</span>' OFFLINE_PATTERN = r'<span style="cursor: default;[^>]*>\s* \s*<strong>\s*</strong>\s*</span>' TEMP_OFFLINE_PATTERN = r'<span class="msg_red">Downloading of this file is temporarily disabled</span>' diff --git a/module/plugins/hoster/JumbofilesCom.py b/module/plugins/hoster/JumbofilesCom.py index f5456efb7..fe0b72804 100644 --- a/module/plugins/hoster/JumbofilesCom.py +++ b/module/plugins/hoster/JumbofilesCom.py @@ -17,7 +17,7 @@ class JumbofilesCom(SimpleHoster): __authors__ = [("godofdream", "soilfiction@gmail.com")] - FILE_INFO_PATTERN = r'<TR><TD>(?P<N>[^<]+?)\s*<small>\((?P<S>[\d.,]+)\s*(?P<U>\w+)' + FILE_INFO_PATTERN = r'<TR><TD>(?P<N>[^<]+?)\s*<small>\((?P<S>[\d.,]+)\s*(?P<U>[\w^_]+)' OFFLINE_PATTERN = r'Not Found or Deleted / Disabled due to inactivity or DMCA' LINK_PATTERN = r'<meta http-equiv="refresh" content="10;url=(.+)">' diff --git a/module/plugins/hoster/JunocloudMe.py b/module/plugins/hoster/JunocloudMe.py index e51dda141..a60981236 100644 --- a/module/plugins/hoster/JunocloudMe.py +++ b/module/plugins/hoster/JunocloudMe.py @@ -20,7 +20,7 @@ class JunocloudMe(XFSPHoster): FILE_URL_REPLACEMENTS = [(r'//(junocloud)', r'//dl3.\1')] FILE_NAME_PATTERN = r'<p class="request_file">http://junocloud.me/w{12}/(?P<N>.+?)</p>' - FILE_SIZE_PATTERN = r'<p class="request_filesize">Size: (?P<S>[\d.,]+) (?P<U>\w+)</p>' + FILE_SIZE_PATTERN = r'<p class="request_filesize">Size: (?P<S>[\d.,]+) (?P<U>[\w^_]+)</p>' OFFLINE_PATTERN = r'>No such file with this filename<' TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' diff --git a/module/plugins/hoster/KingfilesNet.py b/module/plugins/hoster/KingfilesNet.py index 8eaf54e12..e4e664c14 100644 --- a/module/plugins/hoster/KingfilesNet.py +++ b/module/plugins/hoster/KingfilesNet.py @@ -20,7 +20,7 @@ class KingfilesNet(SimpleHoster): FILE_NAME_PATTERN = r'name="fname" value="(?P<N>.+?)">' - FILE_SIZE_PATTERN = r'>Size: .+?">(?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'>Size: .+?">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>(File Not Found</b><br><br>|File Not Found</h2>)' diff --git a/module/plugins/hoster/LoadTo.py b/module/plugins/hoster/LoadTo.py index 03ec6e71b..b0f974133 100644 --- a/module/plugins/hoster/LoadTo.py +++ b/module/plugins/hoster/LoadTo.py @@ -24,7 +24,7 @@ class LoadTo(SimpleHoster): FILE_NAME_PATTERN = r'<h1>(?P<N>.+)</h1>' - FILE_SIZE_PATTERN = r'Size: (?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'Size: (?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>Can\'t find file' LINK_PATTERN = r'<form method="post" action="(.+?)"' diff --git a/module/plugins/hoster/LomafileCom.py b/module/plugins/hoster/LomafileCom.py index 51e1d7711..0c7e03484 100644 --- a/module/plugins/hoster/LomafileCom.py +++ b/module/plugins/hoster/LomafileCom.py @@ -19,7 +19,7 @@ class LomafileCom(XFSPHoster): HOSTER_NAME = "lomafile.com" FILE_NAME_PATTERN = r'<a href="http://lomafile\.com/w{12}/(?P<N>.+?)">' - FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'Size:</b></td><td>(?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>(No such file|Software error:<)' TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' diff --git a/module/plugins/hoster/LuckyShareNet.py b/module/plugins/hoster/LuckyShareNet.py index 1637adac0..82c615bbd 100644 --- a/module/plugins/hoster/LuckyShareNet.py +++ b/module/plugins/hoster/LuckyShareNet.py @@ -20,7 +20,7 @@ class LuckyShareNet(SimpleHoster): __authors__ = [("stickell", "l.stickell@yahoo.it")] - FILE_INFO_PATTERN = r'<h1 class=\'file_name\'>(?P<N>\S+)</h1>\s*<span class=\'file_size\'>Filesize: (?P<S>[\d.,]+)(?P<U>\w+)</span>' + FILE_INFO_PATTERN = r'<h1 class=\'file_name\'>(?P<N>\S+)</h1>\s*<span class=\'file_size\'>Filesize: (?P<S>[\d.,]+)(?P<U>[\w^_]+)</span>' OFFLINE_PATTERN = r'There is no such file available' diff --git a/module/plugins/hoster/MegaRapidCz.py b/module/plugins/hoster/MegaRapidCz.py index cc24e6fa6..06e6626c6 100644 --- a/module/plugins/hoster/MegaRapidCz.py +++ b/module/plugins/hoster/MegaRapidCz.py @@ -35,7 +35,7 @@ class MegaRapidCz(SimpleHoster): FILE_NAME_PATTERN = r'<h1[^>]*><span[^>]*>(?:<a[^>]*>)?(?P<N>[^<]+)' - FILE_SIZE_PATTERN = r'<td class="i">Velikost:</td>\s*<td class="h"><strong>\s*(?P<S>[\d.,]+) (?P<U>\w+)</strong></td>' + FILE_SIZE_PATTERN = r'<td class="i">Velikost:</td>\s*<td class="h"><strong>\s*(?P<S>[\d.,]+) (?P<U>[\w^_]+)</strong></td>' OFFLINE_PATTERN = ur'Nastala chyba 404|Soubor byl smazán' FORCE_CHECK_TRAFFIC = True diff --git a/module/plugins/hoster/MegasharesCom.py b/module/plugins/hoster/MegasharesCom.py index 799c8f5e0..2a7d4659d 100644 --- a/module/plugins/hoster/MegasharesCom.py +++ b/module/plugins/hoster/MegasharesCom.py @@ -20,7 +20,7 @@ class MegasharesCom(SimpleHoster): FILE_NAME_PATTERN = r'<h1 class="black xxl"[^>]*title="(?P<N>[^"]+)">' - FILE_SIZE_PATTERN = r'<strong><span class="black">Filesize:</span></strong> (?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'<strong><span class="black">Filesize:</span></strong> (?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'<dd class="red">(Invalid Link Request|Link has been deleted|Invalid link)' LINK_PATTERN = r'<div id="show_download_button_%d"[^>]*>\s*<a href="([^"]+)">' diff --git a/module/plugins/hoster/MovReelCom.py b/module/plugins/hoster/MovReelCom.py index 96741f347..4b3cca4d5 100644 --- a/module/plugins/hoster/MovReelCom.py +++ b/module/plugins/hoster/MovReelCom.py @@ -18,7 +18,7 @@ class MovReelCom(XFSPHoster): HOSTER_NAME = "movreel.com" FILE_NAME_PATTERN = r'Filename: <b>(?P<N>.+?)<' - FILE_SIZE_PATTERN = r'Size: (?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'Size: (?P<S>[\d.,]+) (?P<U>[\w^_]+)' LINK_PATTERN = r'<a href="([^"]+)">Download Link' diff --git a/module/plugins/hoster/NosuploadCom.py b/module/plugins/hoster/NosuploadCom.py index a8bb345f2..19d851b0a 100644 --- a/module/plugins/hoster/NosuploadCom.py +++ b/module/plugins/hoster/NosuploadCom.py @@ -19,7 +19,7 @@ class NosuploadCom(XFSPHoster): HOSTER_NAME = "nosupload.com" - FILE_SIZE_PATTERN = r'<p><strong>Size:</strong> (?P<S>[\d.,]+) (?P<U>\w+)</p>' + FILE_SIZE_PATTERN = r'<p><strong>Size:</strong> (?P<S>[\d.,]+) (?P<U>[\w^_]+)</p>' LINK_PATTERN = r'<a class="select" href="(http://.+?)">Download</a>' WAIT_PATTERN = r'Please wait.*?>(\d+)</span>' diff --git a/module/plugins/hoster/NowDownloadEu.py b/module/plugins/hoster/NowDownloadEu.py index 2bde071ab..b2c98dc40 100644 --- a/module/plugins/hoster/NowDownloadEu.py +++ b/module/plugins/hoster/NowDownloadEu.py @@ -19,7 +19,7 @@ class NowDownloadEu(SimpleHoster): ("Walter Purcaro", "vuolter@gmail.com")] - FILE_INFO_PATTERN = r'Downloading</span> <br> (?P<N>.*) (?P<S>[\d.,]+) (?P<U>\w+) </h4>' + FILE_INFO_PATTERN = r'Downloading</span> <br> (?P<N>.*) (?P<S>[\d.,]+) (?P<U>[\w^_]+) </h4>' OFFLINE_PATTERN = r'(This file does not exist!)' TOKEN_PATTERN = r'"(/api/token\.php\?token=\w+)"' diff --git a/module/plugins/hoster/OneFichierCom.py b/module/plugins/hoster/OneFichierCom.py index 81eff0a27..41a618d13 100644 --- a/module/plugins/hoster/OneFichierCom.py +++ b/module/plugins/hoster/OneFichierCom.py @@ -23,7 +23,7 @@ class OneFichierCom(SimpleHoster): FILE_NAME_PATTERN = r'>Filename :</th>\s*<td>(?P<N>.+?)<' - FILE_SIZE_PATTERN = r'>Size :</th>\s*<td>(?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'>Size :</th>\s*<td>(?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>The (requested)? file (could not be found|has been deleted)' FILE_URL_REPLACEMENTS = [(__pattern__, r'http://\g<ID>.\g<HOST>/en/')] diff --git a/module/plugins/hoster/PromptfileCom.py b/module/plugins/hoster/PromptfileCom.py index 548f510fe..11b7d5857 100644 --- a/module/plugins/hoster/PromptfileCom.py +++ b/module/plugins/hoster/PromptfileCom.py @@ -17,7 +17,7 @@ class PromptfileCom(SimpleHoster): __authors__ = [("igel", "igelkun@myopera.com")] - FILE_INFO_PATTERN = r'<span style="[^"]*" title="[^"]*">(?P<N>.*?) \((?P<S>[\d.,]+) (?P<U>\w+)\)</span>' + FILE_INFO_PATTERN = r'<span style="[^"]*" title="[^"]*">(?P<N>.*?) \((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)</span>' OFFLINE_PATTERN = r'<span style="[^"]*" title="File Not Found">File Not Found</span>' CHASH_PATTERN = r'<input type="hidden" name="chash" value="([^"]*)" />' diff --git a/module/plugins/hoster/QuickshareCz.py b/module/plugins/hoster/QuickshareCz.py index 20af76813..5946565c6 100644 --- a/module/plugins/hoster/QuickshareCz.py +++ b/module/plugins/hoster/QuickshareCz.py @@ -20,7 +20,7 @@ class QuickshareCz(SimpleHoster): FILE_NAME_PATTERN = r'<th width="145px">Název:</th>\s*<td style="word-wrap:break-word;">(?P<N>[^<]+)</td>' - FILE_SIZE_PATTERN = r'<th>Velikost:</th>\s*<td>(?P<S>[\d.,]+) (?P<U>\w+)</td>' + FILE_SIZE_PATTERN = r'<th>Velikost:</th>\s*<td>(?P<S>[\d.,]+) (?P<U>[\w^_]+)</td>' OFFLINE_PATTERN = r'<script type="text/javascript">location\.href=\'/chyba\';</script>' diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 639e70ffa..3da9846cf 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -29,7 +29,7 @@ class RapidgatorNet(SimpleHoster): API_URL = "http://rapidgator.net/api/file" FILE_NAME_PATTERN = r'<title>Download file (?P<N>.*)' - FILE_SIZE_PATTERN = r'File size:\s*(?P[\d.,]+) (?P\w+)' + FILE_SIZE_PATTERN = r'File size:\s*(?P[\d.,]+) (?P[\w^_]+)' OFFLINE_PATTERN = r'>(File not found|Error 404)' JSVARS_PATTERN = r'\s+var\s*(startTimerUrl|getDownloadUrl|captchaUrl|fid|secs)\s*=\s*\'?(.*?)\'?;' diff --git a/module/plugins/hoster/RemixshareCom.py b/module/plugins/hoster/RemixshareCom.py index dc50fcbfd..5e691c2bc 100644 --- a/module/plugins/hoster/RemixshareCom.py +++ b/module/plugins/hoster/RemixshareCom.py @@ -26,7 +26,7 @@ class RemixshareCom(SimpleHoster): ("Walter Purcaro", "vuolter@gmail.com")] - FILE_INFO_PATTERN = r'title=\'.+?\'>(?P.+?) \((?P\d+) (?P\w+)\)<' + FILE_INFO_PATTERN = r'title=\'.+?\'>(?P.+?) \((?P\d+) (?P[\w^_]+)\)<' OFFLINE_PATTERN = r'

    Ooops!<' LINK_PATTERN = r'(http://remixshare\.com/downloadfinal/.+?)"' diff --git a/module/plugins/hoster/RyushareCom.py b/module/plugins/hoster/RyushareCom.py index e88d9a8c6..841af351c 100644 --- a/module/plugins/hoster/RyushareCom.py +++ b/module/plugins/hoster/RyushareCom.py @@ -25,7 +25,7 @@ class RyushareCom(XFSPHoster): HOSTER_NAME = "ryushare.com" - FILE_SIZE_PATTERN = r'You have requested [^<]+ \((?P[\d.,]+) (?P\w+)' + FILE_SIZE_PATTERN = r'You have requested [^<]+ \((?P[\d.,]+) (?P[\w^_]+)' WAIT_PATTERN = r'You have to wait ((?P\d+) hour[s]?, )?((?P\d+) minute[s], )?(?P\d+) second[s]' LINK_PATTERN = r'Click here to download<' diff --git a/module/plugins/hoster/SendspaceCom.py b/module/plugins/hoster/SendspaceCom.py index 6b71c65bd..85fa196a3 100644 --- a/module/plugins/hoster/SendspaceCom.py +++ b/module/plugins/hoster/SendspaceCom.py @@ -18,7 +18,7 @@ class SendspaceCom(SimpleHoster): FILE_NAME_PATTERN = r'

    \s*<(?:b|strong)>(?P[^<]+)\s*File Size:\s*(?P[\d.,]+)(?P\w+)\s*

    ' + FILE_SIZE_PATTERN = r'
    \s*File Size:\s*(?P[\d.,]+)(?P[\w^_]+)\s*
    ' OFFLINE_PATTERN = r'
    Sorry, the file you requested is not available.
    ' LINK_PATTERN = r'
    (?P.+?)<' - FILE_SIZE_PATTERN = r'class="file-size">(?P[\d.,]+) (?P\w+)' + FILE_SIZE_PATTERN = r'class="file-size">(?P[\d.,]+) (?P[\w^_]+)' OFFLINE_PATTERN = r'

    File Not Found

    |html\(\'File (?:was )?not found' FILE_URL_REPLACEMENTS = [(__pattern__, "http://turbobit.net/\g.html")] diff --git a/module/plugins/hoster/TusfilesNet.py b/module/plugins/hoster/TusfilesNet.py index b976506de..b0540a15f 100644 --- a/module/plugins/hoster/TusfilesNet.py +++ b/module/plugins/hoster/TusfilesNet.py @@ -18,7 +18,7 @@ class TusfilesNet(XFSPHoster): HOSTER_NAME = "tusfiles.net" - FILE_INFO_PATTERN = r'\](?P.+) - (?P[\d.,]+) (?P\w+)\[' + FILE_INFO_PATTERN = r'\](?P.+) - (?P[\d.,]+) (?P[\w^_]+)\[' OFFLINE_PATTERN = r'>File Not Found|TusFiles - Fast Sharing Files!' diff --git a/module/plugins/hoster/TwoSharedCom.py b/module/plugins/hoster/TwoSharedCom.py index 280f1d910..adfd44d6f 100644 --- a/module/plugins/hoster/TwoSharedCom.py +++ b/module/plugins/hoster/TwoSharedCom.py @@ -18,7 +18,7 @@ class TwoSharedCom(SimpleHoster): FILE_NAME_PATTERN = r'<h1>(?P<N>.*)</h1>' - FILE_SIZE_PATTERN = r'<span class="dtitle">File size:</span>\s*(?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'<span class="dtitle">File size:</span>\s*(?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'The file link that you requested is not valid\.|This file was deleted\.' LINK_PATTERN = r'window.location =\'(.+?)\';' diff --git a/module/plugins/hoster/UloziskoSk.py b/module/plugins/hoster/UloziskoSk.py index 7666678cd..bd4bedf92 100644 --- a/module/plugins/hoster/UloziskoSk.py +++ b/module/plugins/hoster/UloziskoSk.py @@ -18,7 +18,7 @@ class UloziskoSk(SimpleHoster): FILE_NAME_PATTERN = r'<div class="down1">(?P<N>[^<]+)</div>' - FILE_SIZE_PATTERN = ur'Veľkosť súboru: <strong>(?P<S>[\d.,]+) (?P<U>\w+)</strong><br />' + FILE_SIZE_PATTERN = ur'Veľkosť súboru: <strong>(?P<S>[\d.,]+) (?P<U>[\w^_]+)</strong><br />' OFFLINE_PATTERN = ur'<span class = "red">Zadaný súbor neexistuje z jedného z nasledujúcich dôvodov:</span>' LINK_PATTERN = r'<form name = "formular" action = "([^"]+)" method = "post">' diff --git a/module/plugins/hoster/UploadingCom.py b/module/plugins/hoster/UploadingCom.py index a55790441..e3f75a3f9 100644 --- a/module/plugins/hoster/UploadingCom.py +++ b/module/plugins/hoster/UploadingCom.py @@ -23,7 +23,7 @@ class UploadingCom(SimpleHoster): FILE_NAME_PATTERN = r'id="file_title">(?P<N>.+)</' - FILE_SIZE_PATTERN = r'size tip_container">(?P<S>[\d.,]+) (?P<U>\w+)<' + FILE_SIZE_PATTERN = r'size tip_container">(?P<S>[\d.,]+) (?P<U>[\w^_]+)<' OFFLINE_PATTERN = r'(Page|file) not found' COOKIES = [(".uploading.com", "lang", "1"), diff --git a/module/plugins/hoster/UpstoreNet.py b/module/plugins/hoster/UpstoreNet.py index ef9cd9e5d..fd13f6d41 100644 --- a/module/plugins/hoster/UpstoreNet.py +++ b/module/plugins/hoster/UpstoreNet.py @@ -18,7 +18,7 @@ class UpstoreNet(SimpleHoster): __authors__ = [("igel", "igelkun@myopera.com")] - FILE_INFO_PATTERN = r'<div class="comment">.*?</div>\s*\n<h2 style="margin:0">(?P<N>.*?)</h2>\s*\n<div class="comment">\s*\n\s*(?P<S>[\d.,]+) (?P<U>\w+)' + FILE_INFO_PATTERN = r'<div class="comment">.*?</div>\s*\n<h2 style="margin:0">(?P<N>.*?)</h2>\s*\n<div class="comment">\s*\n\s*(?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'<span class="error">File not found</span>' WAIT_PATTERN = r'var sec = (\d+)' diff --git a/module/plugins/hoster/UptoboxCom.py b/module/plugins/hoster/UptoboxCom.py index 3b3757bb2..90bae2c01 100644 --- a/module/plugins/hoster/UptoboxCom.py +++ b/module/plugins/hoster/UptoboxCom.py @@ -19,7 +19,7 @@ class UptoboxCom(XFSPHoster): HOSTER_NAME = "uptobox.com" - FILE_INFO_PATTERN = r'"para_title">(?P<N>.+) \((?P<S>[\d.,]+) (?P<U>\w+)\)' + FILE_INFO_PATTERN = r'"para_title">(?P<N>.+) \((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)' OFFLINE_PATTERN = r'>(File not found|Access Denied|404 Not Found)' WAIT_PATTERN = r'>(\d+)</span> seconds<' diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py index f2ba853fc..29a23353f 100644 --- a/module/plugins/hoster/ZippyshareCom.py +++ b/module/plugins/hoster/ZippyshareCom.py @@ -21,7 +21,7 @@ class ZippyshareCom(SimpleHoster): FILE_NAME_PATTERN = r'>Name:.+?">(?P<N>.+?)<' - FILE_SIZE_PATTERN = r'>Size:.+?">(?P<S>[\d.,]+) (?P<U>\w+)' + FILE_SIZE_PATTERN = r'>Size:.+?">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>File does not exist on this server<' -- cgit v1.2.3 From e7e59f4f7c3211920016bb3e5e063f954a19c92e Mon Sep 17 00:00:00 2001 From: guidobelix <guidobelix@hotmail.it> Date: Wed, 15 Oct 2014 02:05:25 +0200 Subject: New plugin RapidfileshareNet (account + hoster) --- module/plugins/hoster/RapidfileshareNet.py | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 module/plugins/hoster/RapidfileshareNet.py (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/RapidfileshareNet.py b/module/plugins/hoster/RapidfileshareNet.py new file mode 100644 index 000000000..f29e2b6a1 --- /dev/null +++ b/module/plugins/hoster/RapidfileshareNet.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo + + +class RapidfileshareNet(XFSPHoster): + __name__ = "RapidfileshareNet" + __type__ = "hoster" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?rapidfileshare\.net/\w{12}' + + __description__ = """Rapidfileshare.net hoster plugin""" + __license__ = "GPLv3" + __authors__ = [("guidobelix", "guidobelix@hotmail.it")] + + + HOSTER_NAME = "rapidfileshare.net" + + FILE_NAME_PATTERN = r'<input type="hidden" name="fname" value="(?P<N>.+?)">' + FILE_SIZE_PATTERN = r'>http://www.rapidfileshare.net/\w+?</font> \((?P<S>[\d.,]+) (?P<U>[\w^_]+)\)</font>' + + OFFLINE_PATTERN = r'>No such file with this filename' + TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' + + + def handlePremium(self): + self.fail("Premium download not implemented") + + +getInfo = create_getInfo(RapidfileshareNet) -- cgit v1.2.3 From d6ac1dccae1c0975d97d1a6374aa9f349a0034a7 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 15 Oct 2014 02:08:14 +0200 Subject: New hoster NowVideoAt --- module/plugins/hoster/NowDownloadEu.py | 10 ++++----- module/plugins/hoster/NowVideoAt.py | 38 ++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 5 deletions(-) create mode 100644 module/plugins/hoster/NowVideoAt.py (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/NowDownloadEu.py b/module/plugins/hoster/NowDownloadEu.py index b2c98dc40..dcf13e678 100644 --- a/module/plugins/hoster/NowDownloadEu.py +++ b/module/plugins/hoster/NowDownloadEu.py @@ -11,21 +11,21 @@ class NowDownloadEu(SimpleHoster): __type__ = "hoster" __version__ = "0.05" - __pattern__ = r'http://(?:www\.)?nowdownload\.(ch|co|eu|sx)/(dl/|download\.php\?id=)(?P<ID>\w+)' + __pattern__ = r'http://(?:www\.)?nowdownload\.(at|ch|co|eu|sx)/(dl/|download\.php\?id=)\w+' - __description__ = """NowDownload.ch hoster plugin""" + __description__ = """NowDownload.at hoster plugin""" __license__ = "GPLv3" __authors__ = [("godofdream", "soilfiction@gmail.com"), ("Walter Purcaro", "vuolter@gmail.com")] FILE_INFO_PATTERN = r'Downloading</span> <br> (?P<N>.*) (?P<S>[\d.,]+) (?P<U>[\w^_]+) </h4>' - OFFLINE_PATTERN = r'(This file does not exist!)' + OFFLINE_PATTERN = r'>This file does not exist' TOKEN_PATTERN = r'"(/api/token\.php\?token=\w+)"' CONTINUE_PATTERN = r'"(/dl2/\w+/\w+)"' WAIT_PATTERN = r'\.countdown\(\{until: \+(\d+),' - LINK_PATTERN = r'"(http://f\d+\.nowdownload\.ch/dl/\w+/\w+)' + LINK_PATTERN = r'"(http://f\d+\.nowdownload\.at/dl/\w+/\w+)' FILE_NAME_REPLACEMENTS = [("&#?\w+;", fixup), (r'<[^>]*>', '')] @@ -46,7 +46,7 @@ class NowDownloadEu(SimpleHoster): else: wait = 60 - baseurl = "http://www.nowdownload.ch" + baseurl = "http://www.nowdownload.at" self.html = self.load(baseurl + str(tokenlink.group(1))) self.wait(wait) diff --git a/module/plugins/hoster/NowVideoAt.py b/module/plugins/hoster/NowVideoAt.py new file mode 100644 index 000000000..c224b6172 --- /dev/null +++ b/module/plugins/hoster/NowVideoAt.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +import re + +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo + + +class NowVideoAt(SimpleHoster): + __name__ = "NowVideoAt" + __type__ = "hoster" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?nowvideo\.(at|ch|co|eu|sx)/(video|mobile/#/videos)/(?P<ID>\w+)' + + __description__ = """NowVideo.at hoster plugin""" + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + + + FILE_URL_REPLACEMENTS = [(__pattern__, r'http://www.nowvideo.at/video/\g<ID>')] + + FILE_NAME_PATTERN = r'<h4>(?P<N>.+?)<' + OFFLINE_PATTERN = r'>This file no longer exists' + + LINK_PATTERN = r'<source src="(.+?)"' + + + def handleFree(self): + self.html = self.load("http://www.nowvideo.at/mobile/video.php", get={'id': self.file_info['ID']}) + + m = re.search(self.LINK_PATTERN, self.html) + if m is None: + self.parseError("Download link not found") + + self.download(m.group(1), disposition=True) + + +getInfo = create_getInfo(NowVideoAt) -- cgit v1.2.3 From 9aba73b8929e8e3688de7be1dee7bf97ecd848a5 Mon Sep 17 00:00:00 2001 From: zapp-brannigan <fuerst.reinje@web.de> Date: Thu, 16 Oct 2014 12:38:23 +0200 Subject: Update PromptfileCom.py The plugin is out of date. The direct link can not be found. --- module/plugins/hoster/PromptfileCom.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/PromptfileCom.py b/module/plugins/hoster/PromptfileCom.py index 11b7d5857..4af762e29 100644 --- a/module/plugins/hoster/PromptfileCom.py +++ b/module/plugins/hoster/PromptfileCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class PromptfileCom(SimpleHoster): __name__ = "PromptfileCom" __type__ = "hoster" - __version__ = "0.1" + __version__ = "0.11" __pattern__ = r'https?://(?:www\.)?promptfile\.com/' @@ -21,7 +21,7 @@ class PromptfileCom(SimpleHoster): OFFLINE_PATTERN = r'<span style="[^"]*" title="File Not Found">File Not Found</span>' CHASH_PATTERN = r'<input type="hidden" name="chash" value="([^"]*)" />' - LINK_PATTERN = r'clip: {\s*url: \'(https?://(?:www\.)promptfile[^\']*)\',' + LINK_PATTERN = r'<a href=\"(.+)\" target=\"_blank\" class=\"view_dl_link\">Download File</a>' def handleFree(self): @@ -35,7 +35,7 @@ class PromptfileCom(SimpleHoster): self.html = self.load(self.pyfile.url, decode=True, post={'chash': chash}) # STAGE 2: get the direct link - m = re.search(self.LINK_PATTERN, self.html, re.MULTILINE | re.DOTALL) + m = re.search(self.LINK_PATTERN, self.html) if m is None: self.parseError("Unable to detect direct link") direct = m.group(1) -- cgit v1.2.3 From c860958e4ae4ab326ac4d024afbf13617e9292d5 Mon Sep 17 00:00:00 2001 From: zapp-brannigan <fuerst.reinje@web.de> Date: Fri, 17 Oct 2014 17:03:04 +0200 Subject: Update ZippyshareCom.py The current version can not detect the filename, download is not working: 17.10.2014 16:43:23 DEBUG ZippyshareCom: FILE NAME: <img style="margin-left: 10px;" src="/fileName?key=82680550&size=small" alt="file name"> FILE SIZE: 209998315 --- module/plugins/hoster/ZippyshareCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py index 29a23353f..6144132f9 100644 --- a/module/plugins/hoster/ZippyshareCom.py +++ b/module/plugins/hoster/ZippyshareCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class ZippyshareCom(SimpleHoster): __name__ = "ZippyshareCom" __type__ = "hoster" - __version__ = "0.51" + __version__ = "0.52" __pattern__ = r'(?P<HOST>http://www\d{0,2}\.zippyshare\.com)/v(?:/|iew\.jsp.*key=)(?P<KEY>\d+)' @@ -20,7 +20,7 @@ class ZippyshareCom(SimpleHoster): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - FILE_NAME_PATTERN = r'>Name:.+?">(?P<N>.+?)<' + FILE_NAME_PATTERN = r'var exam1x = .+ \+ "/(?P<N>.+)";' FILE_SIZE_PATTERN = r'>Size:.+?">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>File does not exist on this server<' -- cgit v1.2.3 From 9fa442e62e9ebcdda2cd804202cc1e495c47e3ad Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Fri, 17 Oct 2014 21:01:31 +0200 Subject: [UploadedTo] Improved error handling (thx NETHeader) --- module/plugins/hoster/UploadedTo.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/UploadedTo.py b/module/plugins/hoster/UploadedTo.py index 0affffbb9..73a903902 100644 --- a/module/plugins/hoster/UploadedTo.py +++ b/module/plugins/hoster/UploadedTo.py @@ -94,7 +94,7 @@ def getInfo(urls): class UploadedTo(Hoster): __name__ = "UploadedTo" __type__ = "hoster" - __version__ = "0.73" + __version__ = "0.74" __pattern__ = r'https?://(?:www\.)?(uploaded\.(to|net)|ul\.to)(/file/|/?\?id=|.*?&id=|/)(?P<ID>\w+)' @@ -219,7 +219,7 @@ class UploadedTo(Hoster): self.retry() elif "limit-parallel" in result: self.fail("Cannot download in parallel") - elif self.DL_LIMIT_PATTERN in result: # limit-dl + elif "limit-dl" in result or self.DL_LIMIT_PATTERN in result: # limit-dl self.setWait(3 * 60 * 60, True) self.wait() self.retry() -- cgit v1.2.3 From a0c5df1aca6bfb58120044079a3fdde560612a1e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 18 Oct 2014 15:25:43 +0200 Subject: [XFileSharingPro][XFileSharingProFolder] Account pairing routine --- module/plugins/hoster/XFileSharingPro.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/XFileSharingPro.py b/module/plugins/hoster/XFileSharingPro.py index e670dc5af..4eb6e95d3 100644 --- a/module/plugins/hoster/XFileSharingPro.py +++ b/module/plugins/hoster/XFileSharingPro.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class XFileSharingPro(XFSPHoster): __name__ = "XFileSharingPro" __type__ = "hoster" - __version__ = "0.38" + __version__ = "0.39" __pattern__ = r'^unmatchable$' @@ -20,12 +20,23 @@ class XFileSharingPro(XFSPHoster): FILE_URL_REPLACEMENTS = [(r'/embed-(\w{12}).*', r'/\1')] #: support embedded files + def init(self): + self.__pattern__ = self.core.pluginManager.hosterPlugins[self.__name__]['pattern'] + self.HOSTER_NAME = re.match(self.__pattern__, self.pyfile.url).group(1).lower() + + account_name = "".join([str.capitalize() for str in self.HOSTER_NAME.split('.')]) + self.account = self.core.accountManager.getAccountPlugin(account_name) + + if self.account and self.account.canUse(): + self.user, data = self.account.selectAccount() + self.req = self.account.getAccountRequest(self.user) + self.premium = self.account.isPremium(self.user) + + def setup(self): self.chunkLimit = 1 + self.resumeDownload = self.premium self.multiDL = True - self.__pattern__ = self.core.pluginManager.hosterPlugins[self.__name__]['pattern'] - self.HOSTER_NAME = re.match(self.__pattern__, self.pyfile.url).group(1).lower() - getInfo = create_getInfo(XFileSharingPro) -- cgit v1.2.3 From 8edb5481e04da44a227e18c76fc4073297721f4f Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 18 Oct 2014 16:29:41 +0200 Subject: [XFileSharingPro] Fixes --- module/plugins/hoster/XFileSharingPro.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/XFileSharingPro.py b/module/plugins/hoster/XFileSharingPro.py index 4eb6e95d3..fc348c90f 100644 --- a/module/plugins/hoster/XFileSharingPro.py +++ b/module/plugins/hoster/XFileSharingPro.py @@ -25,12 +25,16 @@ class XFileSharingPro(XFSPHoster): self.HOSTER_NAME = re.match(self.__pattern__, self.pyfile.url).group(1).lower() account_name = "".join([str.capitalize() for str in self.HOSTER_NAME.split('.')]) - self.account = self.core.accountManager.getAccountPlugin(account_name) + account = self.core.accountManager.getAccountPlugin(account_name) - if self.account and self.account.canUse(): - self.user, data = self.account.selectAccount() - self.req = self.account.getAccountRequest(self.user) - self.premium = self.account.isPremium(self.user) + if account and account.canUse(): + self.user, data = account.selectAccount() + self.req = account.getAccountRequest(self.user) + self.premium = account.isPremium(self.user) + + self.account = account + else: + self.account.HOSTER_NAME = self.HOSTER_NAME def setup(self): -- cgit v1.2.3 From 0b9f23cd350d5dd9f4ba16c748838fa9a2d553c8 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 18 Oct 2014 18:02:05 +0200 Subject: [FilerNet] Revert captcha_key --- module/plugins/hoster/FilerNet.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py index c8211b435..7534c669d 100644 --- a/module/plugins/hoster/FilerNet.py +++ b/module/plugins/hoster/FilerNet.py @@ -16,7 +16,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class FilerNet(SimpleHoster): __name__ = "FilerNet" __type__ = "hoster" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'https?://(?:www\.)?filer\.net/get/(\w+)' @@ -27,8 +27,11 @@ class FilerNet(SimpleHoster): FILE_INFO_PATTERN = r'<h1 class="page-header">Free Download (?P<N>\S+) <small>(?P<S>[\w.]+) (?P<U>[\w^_]+)</small></h1>' OFFLINE_PATTERN = r'Nicht gefunden' + LINK_PATTERN = r'href="([^"]+)">Get download</a>' + RECAPTCHA_KEY = "6LcFctISAAAAAAgaeHgyqhNecGJJRnxV1m_vAz3V" + def process(self, pyfile): if self.premium and (not self.FORCE_CHECK_TRAFFIC or self.checkTrafficLeft()): @@ -36,6 +39,7 @@ class FilerNet(SimpleHoster): else: self.handleFree() + def handleFree(self): self.req.setOption("timeout", 120) self.html = self.load(self.pyfile.url, decode=not self.TEXT_ENCODING, cookies=self.COOKIES) @@ -68,12 +72,8 @@ class FilerNet(SimpleHoster): recaptcha = ReCaptcha(self) - captcha_key = recaptcha.detect_key() - if captcha_key is None: - self.parseError("ReCaptcha key not found") - for _ in xrange(5): - challenge, response = recaptcha.challenge(captcha_key) + challenge, response = recaptcha.challenge(self.RECAPTCHA_KEY) post_data = {'recaptcha_challenge_field': challenge, 'recaptcha_response_field': response, 'hash': hash_data} @@ -97,6 +97,7 @@ class FilerNet(SimpleHoster): self.download(downloadURL, disposition=True) + def handlePremium(self): header = self.load(self.pyfile.url, just_header=True) if 'location' in header: # Direct Download ON -- cgit v1.2.3 From 102a06bad18dc5838abdf3507c6ce060894050f3 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sat, 18 Oct 2014 18:47:14 +0200 Subject: [RapidgatorNet] Fix process routine --- module/plugins/hoster/RapidgatorNet.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 3da9846cf..4840701e6 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -14,7 +14,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" - __version__ = "0.22" + __version__ = "0.23" __pattern__ = r'http://(?:www\.)?(rapidgator\.net|rg\.to)/file/\w+' @@ -47,16 +47,15 @@ class RapidgatorNet(SimpleHoster): self.resumeDownload = self.multiDL = self.premium self.sid = None self.chunkLimit = 1 - self.req.setOption("timeout", 120) - def process(self, pyfile): + + def prepare(self): if self.account: self.sid = self.account.getAccountData(self.user).get('SID', None) if self.sid: - self.handlePremium() - else: - self.handleFree() + self.premium = True + def api_response(self, cmd): try: @@ -81,6 +80,7 @@ class RapidgatorNet(SimpleHoster): self.account.relogin(self.user) self.retry(wait_time=60) + def handlePremium(self): #self.logDebug("ACCOUNT_DATA", self.account.getAccountData(self.user)) self.api_data = self.api_response('info') @@ -90,9 +90,8 @@ class RapidgatorNet(SimpleHoster): url = self.api_response('download')['url'] self.download(url) - def handleFree(self): - self.html = self.load(self.pyfile.url, decode=True) + def handleFree(self): self.checkFree() jsvars = dict(re.findall(self.JSVARS_PATTERN, self.html)) @@ -141,6 +140,7 @@ class RapidgatorNet(SimpleHoster): else: self.parseError("Download link") + def getCaptcha(self): m = re.search(self.ADSCAPTCHA_PATTERN, self.html) if m: @@ -161,6 +161,7 @@ class RapidgatorNet(SimpleHoster): return captcha, captcha_key + def checkFree(self): m = re.search(self.PREMIUM_ONLY_ERROR_PATTERN, self.html) if m: @@ -184,6 +185,7 @@ class RapidgatorNet(SimpleHoster): self.wait(wait_time, True) self.retry() + def getJsonResponse(self, url): response = self.load(url, decode=True) if not response.startswith('{'): -- cgit v1.2.3 From 30655170bf21396b59d33a8cc443321b20569f95 Mon Sep 17 00:00:00 2001 From: zapp-brannigan <zapp-brannigan@users.noreply.github.com> Date: Sun, 19 Oct 2014 09:10:00 +0200 Subject: [ZippyshareCom.py] fixed FILE_NAME_PATTERN again Zippyshare sucks ;) --- module/plugins/hoster/ZippyshareCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py index 6144132f9..4ced2a035 100644 --- a/module/plugins/hoster/ZippyshareCom.py +++ b/module/plugins/hoster/ZippyshareCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class ZippyshareCom(SimpleHoster): __name__ = "ZippyshareCom" __type__ = "hoster" - __version__ = "0.52" + __version__ = "0.53" __pattern__ = r'(?P<HOST>http://www\d{0,2}\.zippyshare\.com)/v(?:/|iew\.jsp.*key=)(?P<KEY>\d+)' @@ -20,7 +20,7 @@ class ZippyshareCom(SimpleHoster): __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] - FILE_NAME_PATTERN = r'var exam1x = .+ \+ "/(?P<N>.+)";' + FILE_NAME_PATTERN = r'var \w+ = .+ \+ "/(?P<N>.+)";' FILE_SIZE_PATTERN = r'>Size:.+?">(?P<S>[\d.,]+) (?P<U>[\w^_]+)' OFFLINE_PATTERN = r'>File does not exist on this server<' -- cgit v1.2.3 From 6a1bbbecd27c6edaefe224aff0367ef90736f707 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 19 Oct 2014 13:55:47 +0200 Subject: [UptoboxCom] Fix multiDL --- module/plugins/hoster/UptoboxCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/UptoboxCom.py b/module/plugins/hoster/UptoboxCom.py index 90bae2c01..335b4a9d5 100644 --- a/module/plugins/hoster/UptoboxCom.py +++ b/module/plugins/hoster/UptoboxCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class UptoboxCom(XFSPHoster): __name__ = "UptoboxCom" __type__ = "hoster" - __version__ = "0.12" + __version__ = "0.13" __pattern__ = r'https?://(?:www\.)?uptobox\.com/\w{12}' @@ -27,7 +27,7 @@ class UptoboxCom(XFSPHoster): def setup(self): - self.multiDL = True + self.multiDL = self.premium #: multiDL doesn't work for free downloads due missing race condition control (ex.: when dl is waiting) self.chunkLimit = 1 self.resumeDownload = True -- cgit v1.2.3 From 2ae91b81a2f12a1c9b1f78524df78a2b3f1ef494 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 19 Oct 2014 14:52:42 +0200 Subject: Update hosters to self.error --- module/plugins/hoster/BayfilesCom.py | 8 ++++---- module/plugins/hoster/BezvadataCz.py | 10 +++++----- module/plugins/hoster/BitshareCom.py | 4 ++-- module/plugins/hoster/CatShareNet.py | 4 ++-- module/plugins/hoster/CrockoCom.py | 6 +++--- module/plugins/hoster/CzshareCom.py | 8 ++++---- module/plugins/hoster/DataHu.py | 4 ++-- module/plugins/hoster/DataportCz.py | 8 ++++---- module/plugins/hoster/DateiTo.py | 6 +++--- module/plugins/hoster/DepositfilesCom.py | 8 ++++---- module/plugins/hoster/DevhostSt.py | 6 +++--- module/plugins/hoster/DropboxCom.py | 4 ++-- module/plugins/hoster/EdiskCz.py | 4 ++-- module/plugins/hoster/EuroshareEu.py | 4 ++-- module/plugins/hoster/ExtabitCom.py | 8 ++++---- module/plugins/hoster/FastshareCz.py | 6 +++--- module/plugins/hoster/File4safeCom.py | 4 ++-- module/plugins/hoster/FilecloudIo.py | 8 ++++---- module/plugins/hoster/FilefactoryCom.py | 10 +++++----- module/plugins/hoster/FilepostCom.py | 10 +++++----- module/plugins/hoster/FilepupNet.py | 6 +++--- module/plugins/hoster/FilerNet.py | 8 ++++---- module/plugins/hoster/FourSharedCom.py | 4 ++-- module/plugins/hoster/FshareVn.py | 6 +++--- module/plugins/hoster/HellshareCz.py | 4 ++-- module/plugins/hoster/IfileIt.py | 4 ++-- module/plugins/hoster/Keep2shareCC.py | 6 +++--- module/plugins/hoster/KingfilesNet.py | 10 +++++----- module/plugins/hoster/LetitbitNet.py | 14 +++++++------- module/plugins/hoster/LoadTo.py | 4 ++-- module/plugins/hoster/LuckyShareNet.py | 8 ++++---- module/plugins/hoster/MediafireCom.py | 6 +++--- module/plugins/hoster/MegasharesCom.py | 4 ++-- module/plugins/hoster/NarodRu.py | 6 +++--- module/plugins/hoster/NowVideoAt.py | 4 ++-- module/plugins/hoster/OneFichierCom.py | 6 +++--- module/plugins/hoster/PromptfileCom.py | 6 +++--- module/plugins/hoster/RapidgatorNet.py | 6 +++--- module/plugins/hoster/RemixshareCom.py | 6 +++--- module/plugins/hoster/RgHostNet.py | 4 ++-- module/plugins/hoster/RyushareCom.py | 4 ++-- module/plugins/hoster/ShareonlineBiz.py | 4 ++-- module/plugins/hoster/SpeedyshareCom.py | 6 +++--- module/plugins/hoster/StreamcloudEu.py | 6 +++--- module/plugins/hoster/TurbobitNet.py | 10 +++++----- module/plugins/hoster/TwoSharedCom.py | 4 ++-- module/plugins/hoster/UlozTo.py | 10 +++++----- module/plugins/hoster/UloziskoSk.py | 8 ++++---- module/plugins/hoster/UploadheroCom.py | 4 ++-- module/plugins/hoster/UploadingCom.py | 8 ++++---- module/plugins/hoster/UpstoreNet.py | 10 +++++----- module/plugins/hoster/WebshareCz.py | 4 ++-- module/plugins/hoster/WrzucTo.py | 6 +++--- module/plugins/hoster/YibaishiwuCom.py | 4 ++-- module/plugins/hoster/ZippyshareCom.py | 4 ++-- 55 files changed, 172 insertions(+), 172 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/BayfilesCom.py b/module/plugins/hoster/BayfilesCom.py index d38987227..b78af6286 100644 --- a/module/plugins/hoster/BayfilesCom.py +++ b/module/plugins/hoster/BayfilesCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class BayfilesCom(SimpleHoster): __name__ = "BayfilesCom" __type__ = "hoster" - __version__ = "0.07" + __version__ = "0.08" __pattern__ = r'https?://(?:www\.)?bayfiles\.(com|net)/file/(?P<ID>\w+/\w+/[^/]+)' @@ -39,7 +39,7 @@ class BayfilesCom(SimpleHoster): # Get download token m = re.search(self.VARS_PATTERN, self.html) if m is None: - self.parseError('VARS') + self.error('VARS') vfid, delay = m.groups() response = json_loads(self.load('http://bayfiles.com/ajax_download', get={ @@ -60,13 +60,13 @@ class BayfilesCom(SimpleHoster): # Get final link and download m = re.search(self.FREE_LINK_PATTERN, self.html) if m is None: - self.parseError("Free link") + self.error("Free link") self.startDownload(m.group(1)) def handlePremium(self): m = re.search(self.PREMIUM_LINK_PATTERN, self.html) if m is None: - self.parseError("Premium link") + self.error("Premium link") self.startDownload(m.group(1)) def startDownload(self, url): diff --git a/module/plugins/hoster/BezvadataCz.py b/module/plugins/hoster/BezvadataCz.py index 9c1ef3693..dcf9bf293 100644 --- a/module/plugins/hoster/BezvadataCz.py +++ b/module/plugins/hoster/BezvadataCz.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class BezvadataCz(SimpleHoster): __name__ = "BezvadataCz" __type__ = "hoster" - __version__ = "0.24" + __version__ = "0.25" __pattern__ = r'http://(?:www\.)?bezvadata\.cz/stahnout/.*' @@ -29,7 +29,7 @@ class BezvadataCz(SimpleHoster): #download button m = re.search(r'<a class="stahnoutSoubor".*?href="(.*?)"', self.html) if m is None: - self.parseError("page1 URL") + self.error("page1 URL") url = "http://bezvadata.cz%s" % m.group(1) #captcha form @@ -38,11 +38,11 @@ class BezvadataCz(SimpleHoster): for _ in xrange(5): action, inputs = self.parseHtmlForm('frm-stahnoutFreeForm') if not inputs: - self.parseError("FreeForm") + self.error("FreeForm") m = re.search(r'<img src="data:image/png;base64,(.*?)"', self.html) if m is None: - self.parseError("captcha img") + self.error("captcha img") #captcha image is contained in html page as base64encoded data but decryptCaptcha() expects image url self.load, proper_load = self.loadcaptcha, self.load @@ -64,7 +64,7 @@ class BezvadataCz(SimpleHoster): self.checkErrors() m = re.search(r'<a class="stahnoutSoubor2" href="(.*?)">', self.html) if m is None: - self.parseError("page2 URL") + self.error("page2 URL") url = "http://bezvadata.cz%s" % m.group(1) self.logDebug("DL URL %s" % url) diff --git a/module/plugins/hoster/BitshareCom.py b/module/plugins/hoster/BitshareCom.py index 8fd8892be..9d2a23625 100644 --- a/module/plugins/hoster/BitshareCom.py +++ b/module/plugins/hoster/BitshareCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class BitshareCom(SimpleHoster): __name__ = "BitshareCom" __type__ = "hoster" - __version__ = "0.50" + __version__ = "0.51" __pattern__ = r'http://(?:www\.)?bitshare\.com/(files/(?P<id1>\w+)(/(?P<name>.*?)\.html)?|\?f=(?P<id2>\w+))' @@ -115,7 +115,7 @@ class BitshareCom(SimpleHoster): recaptcha = ReCaptcha(self) captcha_key = recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha captcha key not found") + self.error("ReCaptcha captcha key not found") # Try up to 3 times for i in xrange(3): diff --git a/module/plugins/hoster/CatShareNet.py b/module/plugins/hoster/CatShareNet.py index 592792952..9a7824659 100644 --- a/module/plugins/hoster/CatShareNet.py +++ b/module/plugins/hoster/CatShareNet.py @@ -9,7 +9,7 @@ from module.plugins.internal.CaptchaService import ReCaptcha class CatShareNet(SimpleHoster): __name__ = "CatShareNet" __type__ = "hoster" - __version__ = "0.07" + __version__ = "0.08" __pattern__ = r'http://(?:www\.)?catshare\.net/\w{16}' @@ -52,7 +52,7 @@ class CatShareNet(SimpleHoster): captcha_key = recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha key not found") + self.error("ReCaptcha key not found") challenge, code = recaptcha.challenge(captcha_key) self.html = self.load(self.pyfile.url, diff --git a/module/plugins/hoster/CrockoCom.py b/module/plugins/hoster/CrockoCom.py index b62e88278..f685d7452 100644 --- a/module/plugins/hoster/CrockoCom.py +++ b/module/plugins/hoster/CrockoCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class CrockoCom(SimpleHoster): __name__ = "CrockoCom" __type__ = "hoster" - __version__ = "0.16" + __version__ = "0.17" __pattern__ = r'http://(?:www\.)?(crocko|easy-share)\.com/\w+' @@ -46,11 +46,11 @@ class CrockoCom(SimpleHoster): recaptcha = ReCaptcha(self) captcha_key = recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha captcha key not found") + self.error("ReCaptcha captcha key not found") m = re.search(self.FORM_PATTERN, self.html, re.DOTALL) if m is None: - self.parseError('ACTION') + self.error('ACTION') action, form = m.groups() inputs = dict(re.findall(self.FORM_INPUT_PATTERN, form)) diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index 0ddca1473..9f2f23d9e 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -12,7 +12,7 @@ from module.utils import parseFileSize class CzshareCom(SimpleHoster): __name__ = "CzshareCom" __type__ = "hoster" - __version__ = "0.94" + __version__ = "0.95" __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download\.php\?).*' @@ -79,7 +79,7 @@ class CzshareCom(SimpleHoster): # get free url m = re.search(self.FREE_URL_PATTERN, self.html) if m is None: - self.parseError('Free URL') + self.error('Free URL') parsed_url = "http://sdilej.cz" + m.group(1) self.logDebug("PARSED_URL:" + parsed_url) @@ -94,7 +94,7 @@ class CzshareCom(SimpleHoster): self.pyfile.size = int(inputs['size']) except Exception, e: self.logError(e) - self.parseError('Form') + self.error('Form') # get and decrypt captcha captcha_url = 'http://sdilej.cz/captcha.php' @@ -118,7 +118,7 @@ class CzshareCom(SimpleHoster): self.logDebug("WAIT URL", self.req.lastEffectiveURL) m = re.search("free_wait.php\?server=(.*?)&(.*)", self.req.lastEffectiveURL) if m is None: - self.parseError('Download URL') + self.error('Download URL') url = "http://%s/download.php?%s" % (m.group(1), m.group(2)) diff --git a/module/plugins/hoster/DataHu.py b/module/plugins/hoster/DataHu.py index 6d286d872..d3a13c54b 100644 --- a/module/plugins/hoster/DataHu.py +++ b/module/plugins/hoster/DataHu.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class DataHu(SimpleHoster): __name__ = "DataHu" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?data\.hu/get/\w+' @@ -35,7 +35,7 @@ class DataHu(SimpleHoster): url = m.group(1) self.logDebug("Direct link: " + url) else: - self.parseError('Unable to get direct link') + self.error('Unable to get direct link') self.download(url, disposition=True) diff --git a/module/plugins/hoster/DataportCz.py b/module/plugins/hoster/DataportCz.py index fe58d7fb7..c79a21b8e 100644 --- a/module/plugins/hoster/DataportCz.py +++ b/module/plugins/hoster/DataportCz.py @@ -6,7 +6,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class DataportCz(SimpleHoster): __name__ = "DataportCz" __type__ = "hoster" - __version__ = "0.37" + __version__ = "0.38" __pattern__ = r'http://(?:www\.)?dataport\.cz/file/(.*)' @@ -32,19 +32,19 @@ class DataportCz(SimpleHoster): action, inputs = self.parseHtmlForm('free_download_form') self.logDebug(action, inputs) if not action or not inputs: - self.parseError('free_download_form') + self.error('free_download_form') if "captchaId" in inputs and inputs['captchaId'] in captchas: inputs['captchaCode'] = captchas[inputs['captchaId']] else: - self.parseError('captcha') + self.error('captcha') self.html = self.download("http://www.dataport.cz%s" % action, post=inputs) check = self.checkDownload({"captcha": 'alert("\u0160patn\u011b opsan\u00fd k\u00f3d z obr\u00e1zu");', "slot": 'alert("Je n\u00e1m l\u00edto, ale moment\u00e1ln\u011b nejsou'}) if check == "captcha": - self.parseError('invalid captcha') + self.error('invalid captcha') elif check == "slot": self.logDebug("No free slots - wait 60s and retry") self.wait(60, False) diff --git a/module/plugins/hoster/DateiTo.py b/module/plugins/hoster/DateiTo.py index 400fa416f..06a485eae 100644 --- a/module/plugins/hoster/DateiTo.py +++ b/module/plugins/hoster/DateiTo.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class DateiTo(SimpleHoster): __name__ = "DateiTo" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?datei\.to/datei/(?P<ID>\w+)\.html' @@ -47,14 +47,14 @@ class DateiTo(SimpleHoster): m = re.search(self.DATA_PATTERN, self.html) if m is None: - self.parseError('data') + self.error('data') url = 'http://datei.to/' + m.group(1) data = dict(x.split('=') for x in m.group(2).split('&')) if url.endswith('recaptcha.php'): captcha_key = recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha key not found") + self.error("ReCaptcha key not found") data['recaptcha_challenge_field'], data['recaptcha_response_field'] = recaptcha.challenge(captcha_key) diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index 5ec690a97..d49b3fc94 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class DepositfilesCom(SimpleHoster): __name__ = "DepositfilesCom" __type__ = "hoster" - __version__ = "0.49" + __version__ = "0.50" __pattern__ = r'https?://(?:www\.)?(depositfiles\.com|dfiles\.(eu|ru))(/\w{1,3})?/files/(?P<ID>\w+)' @@ -72,7 +72,7 @@ class DepositfilesCom(SimpleHoster): recaptcha = ReCaptcha(self) captcha_key = recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha key not found") + self.error("ReCaptcha key not found") for _ in xrange(5): self.html = self.load("https://dfiles.eu/get_file.php", get=params) @@ -92,7 +92,7 @@ class DepositfilesCom(SimpleHoster): self.logDebug("LINK: %s" % link) break else: - self.parseError('Download link') + self.error('Download link') else: self.fail('No valid captcha response received') @@ -118,7 +118,7 @@ class DepositfilesCom(SimpleHoster): elif mirror: dlink = mirror.group(1) else: - self.parseError("No direct download link or mirror found") + self.error("No direct download link or mirror found") self.download(dlink, disposition=True) diff --git a/module/plugins/hoster/DevhostSt.py b/module/plugins/hoster/DevhostSt.py index 5c9055ca0..6ad6a551f 100644 --- a/module/plugins/hoster/DevhostSt.py +++ b/module/plugins/hoster/DevhostSt.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class DevhostSt(SimpleHoster): __name__ = "DevhostSt" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?d-h\.st/(?!users/)\w{3}' @@ -35,7 +35,7 @@ class DevhostSt(SimpleHoster): def handleFree(self): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("Download link not found") + self.error("Download link not found") dl_url = m.group(1) self.logDebug("Download URL = " + dl_url) @@ -43,7 +43,7 @@ class DevhostSt(SimpleHoster): check = self.checkDownload({'html': re.compile("html")}) if check == "html": - self.parseError("Downloaded file is an html file") + self.error("Downloaded file is an html file") getInfo = create_getInfo(DevhostSt) diff --git a/module/plugins/hoster/DropboxCom.py b/module/plugins/hoster/DropboxCom.py index 01d06e842..c0f8e8306 100644 --- a/module/plugins/hoster/DropboxCom.py +++ b/module/plugins/hoster/DropboxCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class DropboxCom(SimpleHoster): __name__ = "DropboxCom" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?dropbox\.com/.+' @@ -36,7 +36,7 @@ class DropboxCom(SimpleHoster): check = self.checkDownload({'html': re.compile("html")}) if check == "html": - self.parseError("Downloaded file is an html file") + self.error("Downloaded file is an html file") getInfo = create_getInfo(DropboxCom) diff --git a/module/plugins/hoster/EdiskCz.py b/module/plugins/hoster/EdiskCz.py index afcd18e56..5112c55ab 100644 --- a/module/plugins/hoster/EdiskCz.py +++ b/module/plugins/hoster/EdiskCz.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class EdiskCz(SimpleHoster): __name__ = "EdiskCz" __type__ = "hoster" - __version__ = "0.21" + __version__ = "0.22" __pattern__ = r'http://(?:www\.)?edisk\.(cz|sk|eu)/(stahni|sk/stahni|en/download)/.*' @@ -34,7 +34,7 @@ class EdiskCz(SimpleHoster): m = re.search(self.ACTION_PATTERN, url) if m is None: - self.parseError("ACTION") + self.error("ACTION") action = m.group(1) self.html = self.load(url, decode=True) diff --git a/module/plugins/hoster/EuroshareEu.py b/module/plugins/hoster/EuroshareEu.py index b538a3ed9..a4a4e6881 100644 --- a/module/plugins/hoster/EuroshareEu.py +++ b/module/plugins/hoster/EuroshareEu.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class EuroshareEu(SimpleHoster): __name__ = "EuroshareEu" __type__ = "hoster" - __version__ = "0.25" + __version__ = "0.26" __pattern__ = r'http://(?:www\.)?euroshare\.(eu|sk|cz|hu|pl)/file/.*' @@ -52,7 +52,7 @@ class EuroshareEu(SimpleHoster): m = re.search(self.FREE_URL_PATTERN, self.html) if m is None: - self.parseError("Parse error (URL)") + self.error("Parse error (URL)") parsed_url = "http://euroshare.eu%s" % m.group(1) self.logDebug("URL", parsed_url) self.download(parsed_url, disposition=True) diff --git a/module/plugins/hoster/ExtabitCom.py b/module/plugins/hoster/ExtabitCom.py index 4b0d3d95b..489b2453e 100644 --- a/module/plugins/hoster/ExtabitCom.py +++ b/module/plugins/hoster/ExtabitCom.py @@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class ExtabitCom(SimpleHoster): __name__ = "ExtabitCom" __type__ = "hoster" - __version__ = "0.6" + __version__ = "0.61" __pattern__ = r'http://(?:www\.)?extabit\.com/(file|go|fid)/(?P<ID>\w+)' @@ -61,15 +61,15 @@ class ExtabitCom(SimpleHoster): else: self.fail("Invalid captcha") else: - self.parseError('Captcha') + self.error('Captcha') if not "href" in response: - self.parseError('JSON') + self.error('JSON') self.html = self.load("http://extabit.com/file/%s%s" % (fileID, response['href'])) m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError('Download URL') + self.error('Download URL') url = m.group(1) self.logDebug("Download URL: " + url) self.download(url) diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py index 8c00aeef4..337977095 100644 --- a/module/plugins/hoster/FastshareCz.py +++ b/module/plugins/hoster/FastshareCz.py @@ -13,7 +13,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class FastshareCz(SimpleHoster): __name__ = "FastshareCz" __type__ = "hoster" - __version__ = "0.22" + __version__ = "0.23" __pattern__ = r'http://(?:www\.)?fastshare\.cz/\d+/.+' @@ -44,7 +44,7 @@ class FastshareCz(SimpleHoster): if m: action, captcha_src = m.groups() else: - self.parseError("Free URL") + self.error("Free URL") baseurl = "http://www.fastshare.cz" captcha = self.decryptCaptcha(urljoin(baseurl, captcha_src)) @@ -77,7 +77,7 @@ class FastshareCz(SimpleHoster): if m: url = m.group(1) else: - self.parseError("Premium URL") + self.error("Premium URL") self.logDebug("PREMIUM URL: " + url) self.download(url, disposition=True) diff --git a/module/plugins/hoster/File4safeCom.py b/module/plugins/hoster/File4safeCom.py index e5927dd69..211e668a1 100644 --- a/module/plugins/hoster/File4safeCom.py +++ b/module/plugins/hoster/File4safeCom.py @@ -10,7 +10,7 @@ from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class File4safeCom(XFSPHoster): __name__ = "File4safeCom" __type__ = "hoster" - __version__ = "0.04" + __version__ = "0.05" __pattern__ = r'https?://(?:www\.)?file4safe\.com/\w{12}' @@ -35,7 +35,7 @@ class File4safeCom(XFSPHoster): location = m.group(1).strip() self.startDownload(location) else: - self.parseError("Unable to detect premium download link") + self.error("Unable to detect premium download link") getInfo = create_getInfo(File4safeCom) diff --git a/module/plugins/hoster/FilecloudIo.py b/module/plugins/hoster/FilecloudIo.py index da7683160..5672e780d 100644 --- a/module/plugins/hoster/FilecloudIo.py +++ b/module/plugins/hoster/FilecloudIo.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class FilecloudIo(SimpleHoster): __name__ = "FilecloudIo" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'http://(?:www\.)?(?:filecloud\.io|ifile\.it|mihd\.net)/(?P<ID>\w+).*' @@ -42,7 +42,7 @@ class FilecloudIo(SimpleHoster): m = re.search(self.AB1_PATTERN, self.html) if m is None: - self.parseError("__AB1") + self.error("__AB1") data['__ab1'] = m.group(1) recaptcha = ReCaptcha(self) @@ -51,7 +51,7 @@ class FilecloudIo(SimpleHoster): captcha_key = m.group(1) if m else recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha key not found") + self.error("ReCaptcha key not found") if not self.account: self.fail("User not logged in") @@ -94,7 +94,7 @@ class FilecloudIo(SimpleHoster): self.html = self.load('http://filecloud.io/download.html') m = re.search(self.LINK_PATTERN % self.file_info['ID'], self.html) if m is None: - self.parseError("Download URL") + self.error("Download URL") download_url = m.group(1) self.logDebug("Download URL: %s" % download_url) diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py index 8d231e350..0e422f108 100644 --- a/module/plugins/hoster/FilefactoryCom.py +++ b/module/plugins/hoster/FilefactoryCom.py @@ -20,7 +20,7 @@ def getInfo(urls): class FilefactoryCom(SimpleHoster): __name__ = "FilefactoryCom" __type__ = "hoster" - __version__ = "0.50" + __version__ = "0.51" __pattern__ = r'https?://(?:www\.)?filefactory\.com/file/(?P<id>\w+)' @@ -58,20 +58,20 @@ class FilefactoryCom(SimpleHoster): # Load the page that contains the direct link url = re.search(r"document\.location\.host \+\s*'(.+)';", self.html) if url is None: - self.parseError('Unable to detect free link') + self.error('Unable to detect free link') url = 'http://www.filefactory.com' + url.group(1) self.html = self.load(url, decode=True) # Free downloads wait time waittime = re.search(r'id="startWait" value="(\d+)"', self.html) if not waittime: - self.parseError('Unable to detect wait time') + self.error('Unable to detect wait time') self.wait(int(waittime.group(1))) # Parse the direct link and download it direct = re.search(r'data-href(?:-direct)?="(.*)" class="button', self.html) if not direct: - self.parseError('Unable to detect free direct link') + self.error('Unable to detect free direct link') direct = direct.group(1) self.logDebug("DIRECT LINK: " + direct) @@ -101,7 +101,7 @@ class FilefactoryCom(SimpleHoster): if m: url = m.group(1) else: - self.parseError('Unable to detect premium direct link') + self.error('Unable to detect premium direct link') self.logDebug("DIRECT PREMIUM LINK: " + url) self.download(url, disposition=True) diff --git a/module/plugins/hoster/FilepostCom.py b/module/plugins/hoster/FilepostCom.py index f833ab737..0748b64f2 100644 --- a/module/plugins/hoster/FilepostCom.py +++ b/module/plugins/hoster/FilepostCom.py @@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class FilepostCom(SimpleHoster): __name__ = "FilepostCom" __type__ = "hoster" - __version__ = "0.28" + __version__ = "0.29" __pattern__ = r'https?://(?:www\.)?(?:filepost\.com/files|fp\.io)/([^/]+).*' @@ -35,12 +35,12 @@ class FilepostCom(SimpleHoster): m = re.search(self.FLP_TOKEN_PATTERN, self.html) if m is None: - self.parseError("Token") + self.error("Token") flp_token = m.group(1) m = re.search(self.RECAPTCHA_PATTERN, self.html) if m is None: - self.parseError("Captcha key") + self.error("Captcha key") captcha_key = m.group(1) # Get wait time @@ -98,7 +98,7 @@ class FilepostCom(SimpleHoster): self.logDebug(json_response) if not 'js' in json_response: - self.parseError('JSON %s 1' % field) + self.error('JSON %s 1' % field) # i changed js_answer to json_response['js'] since js_answer is nowhere set. # i don't know the JSON-HTTP specs in detail, but the previous author @@ -122,7 +122,7 @@ class FilepostCom(SimpleHoster): # ~? self.fail(js_answer['error']) if not 'answer' in json_response['js'] or not field in json_response['js']['answer']: - self.parseError('JSON %s 2' % field) + self.error('JSON %s 2' % field) return json_response['js']['answer'][field] diff --git a/module/plugins/hoster/FilepupNet.py b/module/plugins/hoster/FilepupNet.py index 39979b2a2..366cefc88 100644 --- a/module/plugins/hoster/FilepupNet.py +++ b/module/plugins/hoster/FilepupNet.py @@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class FilepupNet(SimpleHoster): __name__ = "FilepupNet" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?filepup\.net/files/\w+' @@ -38,14 +38,14 @@ class FilepupNet(SimpleHoster): def handleFree(self): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("Download link not found") + self.error("Download link not found") dl_link = m.group(1) self.download(dl_link, post={'task': "download"}) check = self.checkDownload({'html': re.compile("html")}) if check == "html": - self.parseError("Downloaded file is an html file") + self.error("Downloaded file is an html file") getInfo = create_getInfo(FilepupNet) diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py index 7534c669d..46c914e9b 100644 --- a/module/plugins/hoster/FilerNet.py +++ b/module/plugins/hoster/FilerNet.py @@ -16,7 +16,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class FilerNet(SimpleHoster): __name__ = "FilerNet" __type__ = "hoster" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'https?://(?:www\.)?filer\.net/get/(\w+)' @@ -56,7 +56,7 @@ class FilerNet(SimpleHoster): inputs = self.parseHtmlForm(input_names='token')[1] if 'token' not in inputs: - self.parseError('Unable to detect token') + self.error('Unable to detect token') token = inputs['token'] self.logDebug("Token: " + token) @@ -64,7 +64,7 @@ class FilerNet(SimpleHoster): inputs = self.parseHtmlForm(input_names='hash')[1] if 'hash' not in inputs: - self.parseError('Unable to detect hash') + self.error('Unable to detect hash') hash_data = inputs['hash'] self.logDebug("Hash: " + hash_data) @@ -106,7 +106,7 @@ class FilerNet(SimpleHoster): html = self.load(self.pyfile.url) m = re.search(self.LINK_PATTERN, html) if m is None: - self.parseError("Unable to detect direct link, try to enable 'Direct download' in your user settings") + self.error("Unable to detect direct link, try to enable 'Direct download' in your user settings") dl = 'http://filer.net' + m.group(1) self.logDebug("Direct link: " + dl) diff --git a/module/plugins/hoster/FourSharedCom.py b/module/plugins/hoster/FourSharedCom.py index 348a027fe..00dcf4973 100644 --- a/module/plugins/hoster/FourSharedCom.py +++ b/module/plugins/hoster/FourSharedCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class FourSharedCom(SimpleHoster): __name__ = "FourSharedCom" __type__ = "hoster" - __version__ = "0.29" + __version__ = "0.30" __pattern__ = r'https?://(?:www\.)?4shared(\-china)?\.com/(account/)?(download|get|file|document|photo|video|audio|mp3|office|rar|zip|archive|music)/.+?/.*' @@ -44,7 +44,7 @@ class FourSharedCom(SimpleHoster): m = re.search(self.DOWNLOAD_URL_PATTERN, self.html) if m is None: - self.parseError('Download link') + self.error('Download link') link = m.group(1) try: diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py index 2f95d49e6..1a995ce28 100644 --- a/module/plugins/hoster/FshareVn.py +++ b/module/plugins/hoster/FshareVn.py @@ -27,7 +27,7 @@ def doubleDecode(m): class FshareVn(SimpleHoster): __name__ = "FshareVn" __type__ = "hoster" - __version__ = "0.16" + __version__ = "0.17" __pattern__ = r'http://(?:www\.)?fshare\.vn/file/.*' @@ -67,7 +67,7 @@ class FshareVn(SimpleHoster): self.url = self.pyfile.url + action if not inputs: - self.parseError('FORM') + self.error('FORM') elif 'link_file_pwd_dl' in inputs: for password in self.getPassword().splitlines(): self.logInfo("Password protected link, trying", password) @@ -87,7 +87,7 @@ class FshareVn(SimpleHoster): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError('FREE DL URL') + self.error('FREE DL URL') self.url = m.group(1) self.logDebug("FREE DL URL: %s" % self.url) diff --git a/module/plugins/hoster/HellshareCz.py b/module/plugins/hoster/HellshareCz.py index ddb7682b1..10975829c 100644 --- a/module/plugins/hoster/HellshareCz.py +++ b/module/plugins/hoster/HellshareCz.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class HellshareCz(SimpleHoster): __name__ = "HellshareCz" __type__ = "hoster" - __version__ = "0.82" + __version__ = "0.83" __pattern__ = r'(http://(?:www\.)?hellshare\.(?:cz|com|sk|hu|pl)/[^?]*/\d+).*' @@ -38,7 +38,7 @@ class HellshareCz(SimpleHoster): m = re.search(self.SHOW_WINDOW_PATTERN, self.html) if m is None: - self.parseError('SHOW WINDOW') + self.error('SHOW WINDOW') self.url = "http://www.hellshare.com" + m.group(1) self.logDebug("DOWNLOAD URL: " + self.url) diff --git a/module/plugins/hoster/IfileIt.py b/module/plugins/hoster/IfileIt.py index e6bd4fd04..ca5896e2d 100644 --- a/module/plugins/hoster/IfileIt.py +++ b/module/plugins/hoster/IfileIt.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class IfileIt(SimpleHoster): __name__ = "IfileIt" __type__ = "hoster" - __version__ = "0.27" + __version__ = "0.28" __pattern__ = r'^unmatchable$' @@ -56,7 +56,7 @@ class IfileIt(SimpleHoster): self.fail("Incorrect captcha") if not "ticket_url" in json_response: - self.parseError("Download URL") + self.error("Download URL") self.download(json_response['ticket_url']) diff --git a/module/plugins/hoster/Keep2shareCC.py b/module/plugins/hoster/Keep2shareCC.py index a9d4145d1..1da65f3c8 100644 --- a/module/plugins/hoster/Keep2shareCC.py +++ b/module/plugins/hoster/Keep2shareCC.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class Keep2shareCC(SimpleHoster): __name__ = "Keep2shareCC" __type__ = "hoster" - __version__ = "0.10" + __version__ = "0.11" __pattern__ = r'https?://(?:www\.)?(keep2share|k2s|keep2s)\.cc/file/(?P<ID>\w+)' @@ -64,7 +64,7 @@ class Keep2shareCC(SimpleHoster): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("Unable to detect direct link") + self.error("Unable to detect direct link") self.startDownload(m.group(1)) @@ -73,7 +73,7 @@ class Keep2shareCC(SimpleHoster): captcha_key = recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha key not found") + self.error("ReCaptcha key not found") for _ in xrange(5): challenge, response = recaptcha.challenge(captcha_key) diff --git a/module/plugins/hoster/KingfilesNet.py b/module/plugins/hoster/KingfilesNet.py index e4e664c14..c6dbd1e5c 100644 --- a/module/plugins/hoster/KingfilesNet.py +++ b/module/plugins/hoster/KingfilesNet.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class KingfilesNet(SimpleHoster): __name__ = "KingfilesNet" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?kingfiles\.net/(?P<ID>\w{12})' @@ -48,7 +48,7 @@ class KingfilesNet(SimpleHoster): captcha_key = solvemedia.detect_key() if captcha_key is None: - self.parseError("SolveMedia key not found") + self.error("SolveMedia key not found") self.logDebug("captcha_key", captcha_key) captcha_challenge, captcha_response = solvemedia.challenge(captcha_key) @@ -56,7 +56,7 @@ class KingfilesNet(SimpleHoster): # Make the downloadlink appear and load the file m = re.search(self.RAND_ID_PATTERN, b) if m is None: - self.parseError("Random key not found") + self.error("Random key not found") rand = m.group(1) self.logDebug("rand", rand) @@ -74,14 +74,14 @@ class KingfilesNet(SimpleHoster): m = re.search(self.LINK_PATTERN, c) if m is None: - self.parseError("Download url not found") + self.error("Download url not found") dl_url = m.group(1) self.download(dl_url, cookies=True, disposition=True) check = self.checkDownload({'html': re.compile("<html>")}) if check == "html": - self.parseError("Downloaded file is an html file") + self.error("Downloaded file is an html file") getInfo = create_getInfo(KingfilesNet) diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py index 17e638a18..8443c2206 100644 --- a/module/plugins/hoster/LetitbitNet.py +++ b/module/plugins/hoster/LetitbitNet.py @@ -36,7 +36,7 @@ def getInfo(urls): class LetitbitNet(SimpleHoster): __name__ = "LetitbitNet" __type__ = "hoster" - __version__ = "0.24" + __version__ = "0.25" __pattern__ = r'http://(?:www\.)?(letitbit|shareflare)\.net/download/.*' @@ -70,7 +70,7 @@ class LetitbitNet(SimpleHoster): def handleFree(self): action, inputs = self.parseHtmlForm('id="ifree_form"') if not action: - self.parseError("page 1 / ifree_form") + self.error("page 1 / ifree_form") domain = "http://www." + self.HOSTER_NAME self.pyfile.size = float(inputs['sssize']) @@ -81,7 +81,7 @@ class LetitbitNet(SimpleHoster): # action, inputs = self.parseHtmlForm('id="d3_form"') # if not action: - # self.parseError("page 2 / d3_form") + # self.error("page 2 / d3_form") # self.logDebug(action, inputs) # # self.html = self.load(action, post = inputs, cookies = True) @@ -93,7 +93,7 @@ class LetitbitNet(SimpleHoster): # self.wait(seconds+1) # except Exception, e: # self.logError(e) - # self.parseError("page 3 / js") + # self.error("page 3 / js") m = re.search(self.SECONDS_PATTERN, self.html) seconds = int(m.group(1)) if m else 60 @@ -105,14 +105,14 @@ class LetitbitNet(SimpleHoster): response = self.load("%s/ajax/download3.php" % domain, post=" ", cookies=True) if response != '1': - self.parseError('Unknown response - ajax_check_url') + self.error('Unknown response - ajax_check_url') self.logDebug(response) recaptcha = ReCaptcha(self) captcha_key = recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha key not found") + self.error("ReCaptcha key not found") challenge, response = recaptcha.challenge(captcha_key) @@ -135,7 +135,7 @@ class LetitbitNet(SimpleHoster): elif response.startswith('http://'): urls = [response] else: - self.parseError("Unknown response - captcha check") + self.error("Unknown response - captcha check") self.correctCaptcha() diff --git a/module/plugins/hoster/LoadTo.py b/module/plugins/hoster/LoadTo.py index b0f974133..6f1fdb575 100644 --- a/module/plugins/hoster/LoadTo.py +++ b/module/plugins/hoster/LoadTo.py @@ -13,7 +13,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class LoadTo(SimpleHoster): __name__ = "LoadTo" __type__ = "hoster" - __version__ = "0.16" + __version__ = "0.17" __pattern__ = r'http://(?:www\.)?load\.to/\w+' @@ -42,7 +42,7 @@ class LoadTo(SimpleHoster): # Search for Download URL m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("Unable to detect download URL") + self.error("Unable to detect download URL") download_url = m.group(1) diff --git a/module/plugins/hoster/LuckyShareNet.py b/module/plugins/hoster/LuckyShareNet.py index 82c615bbd..fe5a80679 100644 --- a/module/plugins/hoster/LuckyShareNet.py +++ b/module/plugins/hoster/LuckyShareNet.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class LuckyShareNet(SimpleHoster): __name__ = "LuckyShareNet" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?luckyshare\.net/(?P<ID>\d{10,})' @@ -33,7 +33,7 @@ class LuckyShareNet(SimpleHoster): self.logDebug("You have to wait %d seconds between free downloads" % waittime) self.retry(wait_time=waittime) else: - self.parseError('Unable to detect wait time between free downloads') + self.error('Unable to detect wait time between free downloads') elif 'Hash expired' in rep: self.retry(reason="Hash expired") return json_loads(rep) @@ -53,7 +53,7 @@ class LuckyShareNet(SimpleHoster): captcha_key = recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha key not found") + self.error("ReCaptcha key not found") for _ in xrange(5): challenge, response = recaptcha.challenge(captcha_key) @@ -68,7 +68,7 @@ class LuckyShareNet(SimpleHoster): self.logInfo("Wrong captcha") self.invalidCaptcha() else: - self.parseError('Unable to get downlaod link') + self.error('Unable to get downlaod link') if not json['link']: self.fail("No Download url retrieved/all captcha attempts failed") diff --git a/module/plugins/hoster/MediafireCom.py b/module/plugins/hoster/MediafireCom.py index 6d29d4db3..c2581aa9f 100644 --- a/module/plugins/hoster/MediafireCom.py +++ b/module/plugins/hoster/MediafireCom.py @@ -47,7 +47,7 @@ def getInfo(urls): class MediafireCom(SimpleHoster): __name__ = "MediafireCom" __type__ = "hoster" - __version__ = "0.79" + __version__ = "0.80" __pattern__ = r'http://(?:www\.)?mediafire\.com/(file/|(view/?|download\.php)?\?)(\w{11}|\w{15})($|/)' @@ -105,7 +105,7 @@ class MediafireCom(SimpleHoster): m = re.search(r'kNO = r"(http://.*?)";', self.html) if m is None: - self.parseError("Download URL") + self.error("Download URL") download_url = m.group(1) self.logDebug("DOWNLOAD LINK:", download_url) @@ -116,7 +116,7 @@ class MediafireCom(SimpleHoster): captcha_key = solvemedia.detect_key() if captcha_key is None: - self.parseError("SolveMedia key not found") + self.error("SolveMedia key not found") captcha_challenge, captcha_response = solvemedia.challenge(captcha_key) self.html = self.load(self.url, post={"adcopy_challenge": captcha_challenge, diff --git a/module/plugins/hoster/MegasharesCom.py b/module/plugins/hoster/MegasharesCom.py index 2a7d4659d..19942f136 100644 --- a/module/plugins/hoster/MegasharesCom.py +++ b/module/plugins/hoster/MegasharesCom.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class MegasharesCom(SimpleHoster): __name__ = "MegasharesCom" __type__ = "hoster" - __version__ = "0.25" + __version__ = "0.26" __pattern__ = r'http://(?:www\.)?(d\d{2}\.)?megashares\.com/((index\.php)?\?d\d{2}=|dl/)\w+' @@ -98,7 +98,7 @@ class MegasharesCom(SimpleHoster): m = re.search(self.LINK_PATTERN % (1 if premium else 2), self.html) msg = '%s download URL' % ('Premium' if premium else 'Free') if m is None: - self.parseError(msg) + self.error(msg) download_url = m.group(1) self.logDebug("%s: %s" % (msg, download_url)) diff --git a/module/plugins/hoster/NarodRu.py b/module/plugins/hoster/NarodRu.py index c1e1e308a..f70ff9622 100644 --- a/module/plugins/hoster/NarodRu.py +++ b/module/plugins/hoster/NarodRu.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class NarodRu(SimpleHoster): __name__ = "NarodRu" __type__ = "hoster" - __version__ = "0.1" + __version__ = "0.11" __pattern__ = r'http://(?:www\.)?narod(\.yandex)?\.ru/(disk|start/\d+\.\w+-narod\.yandex\.ru)/(?P<ID>\d+)/.+' @@ -36,7 +36,7 @@ class NarodRu(SimpleHoster): self.html = self.load('http://narod.ru/disk/getcapchaxml/?rnd=%d' % int(random() * 777)) m = re.search(self.CAPTCHA_PATTERN, self.html) if m is None: - self.parseError('Captcha') + self.error('Captcha') post_data = {"action": "sendcapcha"} captcha_url, post_data['key'] = m.groups() post_data['rep'] = self.decryptCaptcha(captcha_url) @@ -50,7 +50,7 @@ class NarodRu(SimpleHoster): elif u'<b class="error-msg"><strong>Ошиблись?</strong>' in self.html: self.invalidCaptcha() else: - self.parseError('Download link') + self.error('Download link') else: self.fail("No valid captcha code entered") diff --git a/module/plugins/hoster/NowVideoAt.py b/module/plugins/hoster/NowVideoAt.py index c224b6172..93ecec9cf 100644 --- a/module/plugins/hoster/NowVideoAt.py +++ b/module/plugins/hoster/NowVideoAt.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class NowVideoAt(SimpleHoster): __name__ = "NowVideoAt" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?nowvideo\.(at|ch|co|eu|sx)/(video|mobile/#/videos)/(?P<ID>\w+)' @@ -30,7 +30,7 @@ class NowVideoAt(SimpleHoster): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("Download link not found") + self.error("Download link not found") self.download(m.group(1), disposition=True) diff --git a/module/plugins/hoster/OneFichierCom.py b/module/plugins/hoster/OneFichierCom.py index 41a618d13..e6e193b89 100644 --- a/module/plugins/hoster/OneFichierCom.py +++ b/module/plugins/hoster/OneFichierCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class OneFichierCom(SimpleHoster): __name__ = "OneFichierCom" __type__ = "hoster" - __version__ = "0.64" + __version__ = "0.65" __pattern__ = r'https?://(?P<ID>\w+)\.(?P<HOST>(1fichier|d(es)?fichiers|pjointe)\.(com|fr|net|org)|(cjoint|mesfichiers|piecejointe|oi)\.(org|net)|tenvoi\.(com|org|net)|dl4free\.com|alterupload\.com|megadl\.fr)' @@ -47,7 +47,7 @@ class OneFichierCom(SimpleHoster): url, inputs = self.parseHtmlForm('action="http://%s' % self.file_info['ID']) if not url: - self.parseError("Download link not found") + self.error("Download link not found") # Check for protection if "pass" in inputs: @@ -63,7 +63,7 @@ class OneFichierCom(SimpleHoster): def handlePremium(self): url, inputs = self.parseHtmlForm('action="http://%s' % self.file_info['ID']) if not url: - self.parseError("Download link not found") + self.error("Download link not found") # Check for protection if "pass" in inputs: diff --git a/module/plugins/hoster/PromptfileCom.py b/module/plugins/hoster/PromptfileCom.py index 4af762e29..641c1f642 100644 --- a/module/plugins/hoster/PromptfileCom.py +++ b/module/plugins/hoster/PromptfileCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class PromptfileCom(SimpleHoster): __name__ = "PromptfileCom" __type__ = "hoster" - __version__ = "0.11" + __version__ = "0.12" __pattern__ = r'https?://(?:www\.)?promptfile\.com/' @@ -28,7 +28,7 @@ class PromptfileCom(SimpleHoster): # STAGE 1: get link to continue m = re.search(self.CHASH_PATTERN, self.html) if m is None: - self.parseError("Unable to detect chash") + self.error("Unable to detect chash") chash = m.group(1) self.logDebug("Read chash %s" % chash) # continue to stage2 @@ -37,7 +37,7 @@ class PromptfileCom(SimpleHoster): # STAGE 2: get the direct link m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("Unable to detect direct link") + self.error("Unable to detect direct link") direct = m.group(1) self.logDebug("Found direct link: " + direct) self.download(direct, disposition=True) diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 4840701e6..390d25f74 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -14,7 +14,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" - __version__ = "0.23" + __version__ = "0.24" __pattern__ = r'http://(?:www\.)?(rapidgator\.net|rg\.to)/file/\w+' @@ -138,7 +138,7 @@ class RapidgatorNet(SimpleHoster): else: self.correctCaptcha() else: - self.parseError("Download link") + self.error("Download link") def getCaptcha(self): @@ -157,7 +157,7 @@ class RapidgatorNet(SimpleHoster): captcha_key = m.group(1) captcha = SolveMedia(self) else: - self.parseError("Captcha") + self.error("Captcha") return captcha, captcha_key diff --git a/module/plugins/hoster/RemixshareCom.py b/module/plugins/hoster/RemixshareCom.py index 5e691c2bc..4e812b20d 100644 --- a/module/plugins/hoster/RemixshareCom.py +++ b/module/plugins/hoster/RemixshareCom.py @@ -16,7 +16,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class RemixshareCom(SimpleHoster): __name__ = "RemixshareCom" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'https?://remixshare\.com/(download|dl)/\w+' @@ -41,10 +41,10 @@ class RemixshareCom(SimpleHoster): def handleFree(self): b = re.search(self.LINK_PATTERN, self.html) if not b: - self.parseError("Cannot parse download url") + self.error("Cannot parse download url") c = re.search(self.TOKEN_PATTERN, self.html) if not c: - self.parseError("Cannot parse file token") + self.error("Cannot parse file token") dl_url = b.group(1) + c.group(1) #Check if we have to wait diff --git a/module/plugins/hoster/RgHostNet.py b/module/plugins/hoster/RgHostNet.py index 2018106cb..48ea8ff8c 100644 --- a/module/plugins/hoster/RgHostNet.py +++ b/module/plugins/hoster/RgHostNet.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class RgHostNet(SimpleHoster): __name__ = "RgHostNet" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?rghost\.net/\d+(?:r=\d+)?' @@ -25,7 +25,7 @@ class RgHostNet(SimpleHoster): def handleFree(self): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("Unable to detect the direct link") + self.error("Unable to detect the direct link") download_link = m.group(1) self.download(download_link, disposition=True) diff --git a/module/plugins/hoster/RyushareCom.py b/module/plugins/hoster/RyushareCom.py index 841af351c..cd77ac4a6 100644 --- a/module/plugins/hoster/RyushareCom.py +++ b/module/plugins/hoster/RyushareCom.py @@ -12,7 +12,7 @@ from module.plugins.internal.CaptchaService import SolveMedia class RyushareCom(XFSPHoster): __name__ = "RyushareCom" __type__ = "hoster" - __version__ = "0.18" + __version__ = "0.19" __pattern__ = r'http://(?:www\.)?ryushare\.com/\w+' @@ -63,7 +63,7 @@ class RyushareCom(XFSPHoster): captcha_key = captcha.detect_key() if captcha_key is None: - self.parseError("SolveMedia key not found") + self.error("SolveMedia key not found") challenge, response = captcha.challenge(captcha_key) diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py index cfb1d6325..7a73ab316 100644 --- a/module/plugins/hoster/ShareonlineBiz.py +++ b/module/plugins/hoster/ShareonlineBiz.py @@ -39,7 +39,7 @@ def getInfo(urls): class ShareonlineBiz(Hoster): __name__ = "ShareonlineBiz" __type__ = "hoster" - __version__ = "0.40" + __version__ = "0.41" __pattern__ = r'https?://(?:www\.)?(share-online\.biz|egoshare\.com)/(download\.php\?id=|dl/)(?P<ID>\w+)' @@ -134,7 +134,7 @@ class ShareonlineBiz(Hoster): download_url = response.decode("base64") self.logDebug(download_url) if not download_url.startswith("http://"): - self.parseError("download url") + self.error("download url") self.wait() self.download(download_url) diff --git a/module/plugins/hoster/SpeedyshareCom.py b/module/plugins/hoster/SpeedyshareCom.py index c3acfc1e8..0696ae810 100644 --- a/module/plugins/hoster/SpeedyshareCom.py +++ b/module/plugins/hoster/SpeedyshareCom.py @@ -13,7 +13,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class SpeedyshareCom(SimpleHoster): __name__ = "SpeedyshareCom" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?(speedyshare\.com|speedy\.sh)/\w+' @@ -38,14 +38,14 @@ class SpeedyshareCom(SimpleHoster): def handleFree(self): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("Download link not found") + self.error("Download link not found") dl_link = urljoin("http://www.speedyshare.com", m.group(1)) self.download(dl_link, disposition=True) check = self.checkDownload({'html': re.compile("html")}) if check == "html": - self.parseError("Downloaded file is an html file") + self.error("Downloaded file is an html file") getInfo = create_getInfo(SpeedyshareCom) diff --git a/module/plugins/hoster/StreamcloudEu.py b/module/plugins/hoster/StreamcloudEu.py index e6a2b0226..49820bae6 100644 --- a/module/plugins/hoster/StreamcloudEu.py +++ b/module/plugins/hoster/StreamcloudEu.py @@ -11,7 +11,7 @@ from module.plugins.internal.XFSPHoster import XFSPHoster, create_getInfo class StreamcloudEu(XFSPHoster): __name__ = "StreamcloudEu" __type__ = "hoster" - __version__ = "0.06" + __version__ = "0.07" __pattern__ = r'http://(?:www\.)?streamcloud\.eu/\w{12}' @@ -78,7 +78,7 @@ class StreamcloudEu(XFSPHoster): if self.errmsg: self.retry() else: - self.parseError("Form not found") + self.error("Form not found") self.logDebug(self.HOSTER_NAME, inputs) @@ -122,7 +122,7 @@ class StreamcloudEu(XFSPHoster): self.errmsg = None else: - self.parseError('FORM: %s' % (inputs['op'] if 'op' in inputs else 'UNKNOWN')) + self.error('FORM: %s' % (inputs['op'] if 'op' in inputs else 'UNKNOWN')) getInfo = create_getInfo(StreamcloudEu) diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py index 2d3c4e14a..8557e0ce7 100644 --- a/module/plugins/hoster/TurbobitNet.py +++ b/module/plugins/hoster/TurbobitNet.py @@ -17,7 +17,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, t class TurbobitNet(SimpleHoster): __name__ = "TurbobitNet" __type__ = "hoster" - __version__ = "0.12" + __version__ = "0.13" __pattern__ = r'http://(?:www\.)?turbobit\.net/(?:download/free/)?(?P<ID>\w+)' @@ -67,20 +67,20 @@ class TurbobitNet(SimpleHoster): action, inputs = self.parseHtmlForm("action='#'") if not inputs: - self.parseError("captcha form") + self.error("captcha form") self.logDebug(inputs) if inputs['captcha_type'] == 'recaptcha': recaptcha = ReCaptcha(self) captcha_key = recaptcha.detect_key() if captcha_key is None: - self.parseError("ReCaptcha captcha key not found") + self.error("ReCaptcha captcha key not found") inputs['recaptcha_challenge_field'], inputs['recaptcha_response_field'] = recaptcha.challenge(captcha_key) else: m = re.search(self.CAPTCHA_URL_PATTERN, self.html) if m is None: - self.parseError('captcha') + self.error('captcha') captcha_url = m.group(1) inputs['captcha_response'] = self.decryptCaptcha(captcha_url) @@ -172,7 +172,7 @@ class TurbobitNet(SimpleHoster): def downloadFile(self): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("Download link not found") + self.error("Download link not found") self.url = "http://turbobit.net" + m.group('url') self.download(self.url) diff --git a/module/plugins/hoster/TwoSharedCom.py b/module/plugins/hoster/TwoSharedCom.py index adfd44d6f..6b755219a 100644 --- a/module/plugins/hoster/TwoSharedCom.py +++ b/module/plugins/hoster/TwoSharedCom.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class TwoSharedCom(SimpleHoster): __name__ = "TwoSharedCom" __type__ = "hoster" - __version__ = "0.11" + __version__ = "0.12" __pattern__ = r'http://(?:www\.)?2shared\.com/(account/)?(download|get|file|document|photo|video|audio)/.*' @@ -30,7 +30,7 @@ class TwoSharedCom(SimpleHoster): def handleFree(self): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError('Download link') + self.error('Download link') link = m.group(1) self.logDebug("Download URL %s" % link) diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py index 3759c0c7b..2d4762ba6 100644 --- a/module/plugins/hoster/UlozTo.py +++ b/module/plugins/hoster/UlozTo.py @@ -15,7 +15,7 @@ def convertDecimalPrefix(m): class UlozTo(SimpleHoster): __name__ = "UlozTo" __type__ = "hoster" - __version__ = "0.98" + __version__ = "0.99" __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(?:live/)?(?P<id>\w+/[^/?]*)' @@ -53,7 +53,7 @@ class UlozTo(SimpleHoster): m = re.search(self.TOKEN_PATTERN, self.html) if m is None: - self.parseError('TOKEN') + self.error('TOKEN') token = m.group(1) self.html = self.load(pyfile.url, get={"do": "askAgeForm-submit"}, @@ -84,7 +84,7 @@ class UlozTo(SimpleHoster): def handleFree(self): action, inputs = self.parseHtmlForm('id="frm-downloadDialog-freeDownloadForm"') if not action or not inputs: - self.parseError("free download form") + self.error("free download form") self.logDebug("inputs.keys = " + str(inputs.keys())) # get and decrypt captcha @@ -110,7 +110,7 @@ class UlozTo(SimpleHoster): inputs.update({'timestamp': data['timestamp'], 'salt': data['salt'], 'hash': data['hash'], 'captcha_value': captcha_value}) else: - self.parseError("CAPTCHA form changed") + self.error("CAPTCHA form changed") self.multiDL = True self.download("http://www.ulozto.net" + action, post=inputs, cookies=True, disposition=True) @@ -124,7 +124,7 @@ class UlozTo(SimpleHoster): msg = "%s link" % ("Premium" if premium else "Free") m = re.search(self.PREMIUM_URL_PATTERN if premium else self.FREE_URL_PATTERN, self.html) if m is None: - self.parseError(msg) + self.error(msg) parsed_url = "http://www.ulozto.net" + m.group(1) self.logDebug("%s: %s" % (msg, parsed_url)) return parsed_url diff --git a/module/plugins/hoster/UloziskoSk.py b/module/plugins/hoster/UloziskoSk.py index bd4bedf92..4323a71e5 100644 --- a/module/plugins/hoster/UloziskoSk.py +++ b/module/plugins/hoster/UloziskoSk.py @@ -8,7 +8,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class UloziskoSk(SimpleHoster): __name__ = "UloziskoSk" __type__ = "hoster" - __version__ = "0.23" + __version__ = "0.24" __pattern__ = r'http://(?:www\.)?ulozisko\.sk/.*' @@ -41,19 +41,19 @@ class UloziskoSk(SimpleHoster): def handleFree(self): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError('URL') + self.error('URL') parsed_url = 'http://www.ulozisko.sk' + m.group(1) m = re.search(self.ID_PATTERN, self.html) if m is None: - self.parseError('ID') + self.error('ID') id = m.group(1) self.logDebug("URL:" + parsed_url + ' ID:' + id) m = re.search(self.CAPTCHA_PATTERN, self.html) if m is None: - self.parseError('CAPTCHA') + self.error('CAPTCHA') captcha_url = 'http://www.ulozisko.sk' + m.group(1) captcha = self.decryptCaptcha(captcha_url, cookies=True) diff --git a/module/plugins/hoster/UploadheroCom.py b/module/plugins/hoster/UploadheroCom.py index 914886fca..3c26a0b8b 100644 --- a/module/plugins/hoster/UploadheroCom.py +++ b/module/plugins/hoster/UploadheroCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class UploadheroCom(SimpleHoster): __name__ = "UploadheroCom" __type__ = "hoster" - __version__ = "0.15" + __version__ = "0.16" __pattern__ = r'http://(?:www\.)?uploadhero\.com?/dl/\w+' @@ -40,7 +40,7 @@ class UploadheroCom(SimpleHoster): m = re.search(self.CAPTCHA_PATTERN, self.html) if m is None: - self.parseError("Captcha URL") + self.error("Captcha URL") captcha_url = "http://uploadhero.co" + m.group(1) for _ in xrange(5): diff --git a/module/plugins/hoster/UploadingCom.py b/module/plugins/hoster/UploadingCom.py index e3f75a3f9..71a1eb4a0 100644 --- a/module/plugins/hoster/UploadingCom.py +++ b/module/plugins/hoster/UploadingCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, t class UploadingCom(SimpleHoster): __name__ = "UploadingCom" __type__ = "hoster" - __version__ = "0.36" + __version__ = "0.37" __pattern__ = r'http://(?:www\.)?uploading\.com/files/(?:get/)?(?P<ID>\w+)' @@ -76,21 +76,21 @@ class UploadingCom(SimpleHoster): self.logInfo("%s: Waiting %d seconds." % (self.__name__, wait_time)) self.wait(wait_time) else: - self.parseError("AJAX/WAIT") + self.error("AJAX/WAIT") response = json_loads( self.load(ajax_url, post={'action': 'get_link', 'code': self.file_info['ID'], 'pass': 'false'})) if 'answer' in response and 'link' in response['answer']: url = response['answer']['link'] else: - self.parseError("AJAX/URL") + self.error("AJAX/URL") self.html = self.load(url) m = re.search(r'<form id="file_form" action="(.*?)"', self.html) if m: url = m.group(1) else: - self.parseError("URL") + self.error("URL") self.download(url) diff --git a/module/plugins/hoster/UpstoreNet.py b/module/plugins/hoster/UpstoreNet.py index fd13f6d41..257a186eb 100644 --- a/module/plugins/hoster/UpstoreNet.py +++ b/module/plugins/hoster/UpstoreNet.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class UpstoreNet(SimpleHoster): __name__ = "UpstoreNet" __type__ = "hoster" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?upstore\.net/' @@ -30,7 +30,7 @@ class UpstoreNet(SimpleHoster): # STAGE 1: get link to continue m = re.search(self.CHASH_PATTERN, self.html) if m is None: - self.parseError("could not detect hash") + self.error("could not detect hash") chash = m.group(1) self.logDebug("Read hash " + chash) # continue to stage2 @@ -41,13 +41,13 @@ class UpstoreNet(SimpleHoster): # first get the infos we need: recaptcha key and wait time recaptcha = ReCaptcha(self) if recaptcha.detect_key() is None: - self.parseError("ReCaptcha key not found") + self.error("ReCaptcha key not found") self.logDebug("Using captcha key " + recaptcha.key) # try the captcha 5 times for i in xrange(5): m = re.search(self.WAIT_PATTERN, self.html) if m is None: - self.parseError("could not find wait pattern") + self.error("could not find wait pattern") wait_time = m.group(1) # then, do the waiting @@ -66,7 +66,7 @@ class UpstoreNet(SimpleHoster): break if m is None: - self.parseError("could not detect direct link") + self.error("could not detect direct link") direct = m.group(1) self.logDebug("Found direct link: " + direct) diff --git a/module/plugins/hoster/WebshareCz.py b/module/plugins/hoster/WebshareCz.py index 8412de7b8..6e0354d12 100644 --- a/module/plugins/hoster/WebshareCz.py +++ b/module/plugins/hoster/WebshareCz.py @@ -24,7 +24,7 @@ def getInfo(urls): class WebshareCz(SimpleHoster): __name__ = "WebshareCz" __type__ = "hoster" - __version__ = "0.13" + __version__ = "0.14" __pattern__ = r'https?://(?:www\.)?webshare\.cz/(?:#/)?file/(?P<ID>\w+)' @@ -38,7 +38,7 @@ class WebshareCz(SimpleHoster): self.logDebug("API data: " + api_data) m = re.search('<link>(.+)</link>', api_data) if m is None: - self.parseError('Unable to detect direct link') + self.error('Unable to detect direct link') direct = m.group(1) self.logDebug("Direct link: " + direct) self.download(direct, disposition=True) diff --git a/module/plugins/hoster/WrzucTo.py b/module/plugins/hoster/WrzucTo.py index 0076635e2..47731642d 100644 --- a/module/plugins/hoster/WrzucTo.py +++ b/module/plugins/hoster/WrzucTo.py @@ -10,7 +10,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class WrzucTo(SimpleHoster): __name__ = "WrzucTo" __type__ = "hoster" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'http://(?:www\.)?wrzuc\.to/(\w+(\.wt|\.html)|(\w+/?linki/\w+))' @@ -31,7 +31,7 @@ class WrzucTo(SimpleHoster): def handleFree(self): data = dict(re.findall(r'(md5|file): "(.*?)"', self.html)) if len(data) != 2: - self.parseError('File ID') + self.error('File ID') self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With: XMLHttpRequest"]) self.req.http.lastURL = self.pyfile.url @@ -42,7 +42,7 @@ class WrzucTo(SimpleHoster): data.update(re.findall(r'"(download_link|server_id)":"(.*?)"', self.html)) if len(data) != 4: - self.parseError('Download URL') + self.error('Download URL') download_url = "http://%s.wrzuc.to/pobierz/%s" % (data['server_id'], data['download_link']) self.logDebug("Download URL: %s" % download_url) diff --git a/module/plugins/hoster/YibaishiwuCom.py b/module/plugins/hoster/YibaishiwuCom.py index 803c7d1c3..1ea44ddb4 100644 --- a/module/plugins/hoster/YibaishiwuCom.py +++ b/module/plugins/hoster/YibaishiwuCom.py @@ -9,7 +9,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class YibaishiwuCom(SimpleHoster): __name__ = "YibaishiwuCom" __type__ = "hoster" - __version__ = "0.12" + __version__ = "0.13" __pattern__ = r'http://(?:www\.)?(?:u\.)?115\.com/file/(?P<ID>\w+)' @@ -28,7 +28,7 @@ class YibaishiwuCom(SimpleHoster): def handleFree(self): m = re.search(self.LINK_PATTERN, self.html) if m is None: - self.parseError("AJAX URL") + self.error("AJAX URL") url = m.group(1) self.logDebug(('FREEUSER' if m.group(2) == 'download' else 'GUEST') + ' URL', url) diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py index 6144132f9..9c1c3fa9b 100644 --- a/module/plugins/hoster/ZippyshareCom.py +++ b/module/plugins/hoster/ZippyshareCom.py @@ -11,7 +11,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class ZippyshareCom(SimpleHoster): __name__ = "ZippyshareCom" __type__ = "hoster" - __version__ = "0.52" + __version__ = "0.53" __pattern__ = r'(?P<HOST>http://www\d{0,2}\.zippyshare\.com)/v(?:/|iew\.jsp.*key=)(?P<KEY>\d+)' @@ -50,7 +50,7 @@ class ZippyshareCom(SimpleHoster): c = lambda a,b: a + b if not m: - self.parseError("Unable to calculate checksum") + self.error("Unable to calculate checksum") a = map(lambda x: int(x), m[0]) b = map(lambda x: int(x), m[1]) -- cgit v1.2.3 From 1f48f481740863c7697064bde286a78e977e4a1b Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 19 Oct 2014 15:12:06 +0200 Subject: Update other plugins to support self.error --- module/plugins/hoster/NowDownloadEu.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/NowDownloadEu.py b/module/plugins/hoster/NowDownloadEu.py index dcf13e678..57d31acd5 100644 --- a/module/plugins/hoster/NowDownloadEu.py +++ b/module/plugins/hoster/NowDownloadEu.py @@ -38,7 +38,7 @@ class NowDownloadEu(SimpleHoster): tokenlink = re.search(self.TOKEN_PATTERN, self.html) continuelink = re.search(self.CONTINUE_PATTERN, self.html) if tokenlink is None or continuelink is None: - self.fail('Plugin out of Date') + self.error() m = re.search(self.WAIT_PATTERN, self.html) if m: @@ -54,7 +54,7 @@ class NowDownloadEu(SimpleHoster): url = re.search(self.LINK_PATTERN, self.html) if url is None: - self.fail('Download Link not Found (Plugin out of Date?)') + self.error("Download link not found") self.logDebug("Download link", url.group(1)) self.download(str(url.group(1))) -- cgit v1.2.3 From bb68489d85d3aae3d050a8d198f6615aed379690 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Sun, 19 Oct 2014 15:19:37 +0200 Subject: Change some self.req.load to self.load --- module/plugins/hoster/MyfastfileCom.py | 6 +++--- module/plugins/hoster/PornhubCom.py | 2 +- module/plugins/hoster/UnrestrictLi.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/MyfastfileCom.py b/module/plugins/hoster/MyfastfileCom.py index 466bb95e8..8fbae3e0a 100644 --- a/module/plugins/hoster/MyfastfileCom.py +++ b/module/plugins/hoster/MyfastfileCom.py @@ -30,9 +30,9 @@ class MyfastfileCom(Hoster): self.fail("No Myfastfile.com account provided") else: self.logDebug("Original URL: %s" % pyfile.url) - page = self.req.load('http://myfastfile.com/api.php', - get={'user': self.user, 'pass': self.account.getAccountData(self.user)['password'], - 'link': pyfile.url}) + page = self.load('http://myfastfile.com/api.php', + get={'user': self.user, 'pass': self.account.getAccountData(self.user)['password'], + 'link': pyfile.url}) self.logDebug("JSON data: " + page) page = json_loads(page) if page['status'] != 'ok': diff --git a/module/plugins/hoster/PornhubCom.py b/module/plugins/hoster/PornhubCom.py index fad915fb1..60b57d2c8 100644 --- a/module/plugins/hoster/PornhubCom.py +++ b/module/plugins/hoster/PornhubCom.py @@ -44,7 +44,7 @@ class PornhubCom(Hoster): post_data += "\x02\x00\x02\x2d\x31\x02\x00\x20" post_data += "add299463d4410c6d1b1c418868225f7" - content = self.req.load(url, post=str(post_data)) + content = self.load(url, post=str(post_data)) new_content = "" for x in content: diff --git a/module/plugins/hoster/UnrestrictLi.py b/module/plugins/hoster/UnrestrictLi.py index 0cd8e315f..2acb7816d 100644 --- a/module/plugins/hoster/UnrestrictLi.py +++ b/module/plugins/hoster/UnrestrictLi.py @@ -43,8 +43,8 @@ class UnrestrictLi(Hoster): else: self.logDebug("Old URL: %s" % pyfile.url) for _ in xrange(5): - page = self.req.load('https://unrestrict.li/unrestrict.php', - post={'link': pyfile.url, 'domain': 'long'}) + page = self.load('https://unrestrict.li/unrestrict.php', + post={'link': pyfile.url, 'domain': 'long'}) self.logDebug("JSON data: " + page) if page != '': break -- cgit v1.2.3 From 8831b9b27bcfadbefa35d133fad3e618d6e30a6e Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 20 Oct 2014 02:22:34 +0200 Subject: [Ftp] Improve __pattern__ --- module/plugins/hoster/Ftp.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py index f80fdd69f..bdf75b10f 100644 --- a/module/plugins/hoster/Ftp.py +++ b/module/plugins/hoster/Ftp.py @@ -12,9 +12,9 @@ from module.plugins.Hoster import Hoster class Ftp(Hoster): __name__ = "Ftp" __type__ = "hoster" - __version__ = "0.42" + __version__ = "0.43" - __pattern__ = r'(ftps?|sftp)://(.*?:.*?@)?.*?/.*' # ftp://user:password@ftp\.server\.org/path/to/file + __pattern__ = r'(?:ftps?|sftp)://([\w.-]+(:[\w.-]+)?@)?[\w.-]+(:\d+)?/.+' __description__ = """Download from ftp directory""" __license__ = "GPLv3" @@ -27,6 +27,7 @@ class Ftp(Hoster): self.chunkLimit = -1 self.resumeDownload = True + def process(self, pyfile): parsed_url = urlparse(pyfile.url) netloc = parsed_url.netloc @@ -44,7 +45,7 @@ class Ftp(Hoster): self.logDebug("Logging on to %s" % netloc) self.req.addAuth(self.account.accounts[netloc]['password']) else: - for pwd in pyfile.package().password.splitlines(): + for pwd in self.getPassword().splitlines(): if ":" in pwd: self.req.addAuth(pwd.strip()) break -- cgit v1.2.3 From df18c546f35f642bd03ee33c4e8405b4af71f714 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Mon, 20 Oct 2014 13:00:16 +0200 Subject: [MegasharesCom] Fix PASSPORT_RENEW_PATTERN --- module/plugins/hoster/MegasharesCom.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/MegasharesCom.py b/module/plugins/hoster/MegasharesCom.py index 19942f136..61a314de4 100644 --- a/module/plugins/hoster/MegasharesCom.py +++ b/module/plugins/hoster/MegasharesCom.py @@ -10,13 +10,14 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class MegasharesCom(SimpleHoster): __name__ = "MegasharesCom" __type__ = "hoster" - __version__ = "0.26" + __version__ = "0.27" __pattern__ = r'http://(?:www\.)?(d\d{2}\.)?megashares\.com/((index\.php)?\?d\d{2}=|dl/)\w+' __description__ = """Megashares.com hoster plugin""" __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __authors__ = [("zoidberg", "zoidberg@mujmail.cz"), + ("Walter Purcaro", "vuolter@gmail.com")] FILE_NAME_PATTERN = r'<h1 class="black xxl"[^>]*title="(?P<N>[^"]+)">' @@ -26,7 +27,7 @@ class MegasharesCom(SimpleHoster): LINK_PATTERN = r'<div id="show_download_button_%d"[^>]*>\s*<a href="([^"]+)">' PASSPORT_LEFT_PATTERN = r'Your Download Passport is: <[^>]*>(\w+).*?You have.*?<[^>]*>.*?([\d.]+) (\w+)' - PASSPORT_RENEW_PATTERN = r'Your download passport will renew(?:.|\n)*(\d+).*?(\d+).*?(\d+)' + PASSPORT_RENEW_PATTERN = r'(\d+):<strong>(\d+)</strong>:<strong>(\d+)</strong>' REACTIVATE_NUM_PATTERN = r'<input[^>]*id="random_num" value="(\d+)" />' REACTIVATE_PASSPORT_PATTERN = r'<input[^>]*id="passport_num" value="(\w+)" />' REQUEST_URI_PATTERN = r'var request_uri = "([^"]+)";' @@ -43,8 +44,6 @@ class MegasharesCom(SimpleHoster): def handleFree(self): - self.html = self.load(self.pyfile.url, decode=True) - if self.NO_SLOTS_PATTERN in self.html: self.retry(wait_time=5 * 60) @@ -76,19 +75,24 @@ class MegasharesCom(SimpleHoster): else: self.fail("Failed to reactivate passport") + m = re.search(self.PASSPORT_RENEW_PATTERN, self.html) + if m: + time = [int(x) for x in m.groups()] + renew = time[0] + (time[1] * 60) + (time[2] * 60) + self.logDebug('Waiting %d seconds for a new passport' % renew) + self.retry(wait_time=renew, reason="Passport renewal") + # Check traffic left on passport m = re.search(self.PASSPORT_LEFT_PATTERN, self.html, re.M | re.S) if m is None: self.fail('Passport not found') + self.logInfo("Download passport: %s" % m.group(1)) data_left = float(m.group(2)) * 1024 ** {'B': 0, 'KB': 1, 'MB': 2, 'GB': 3}[m.group(3)] self.logInfo("Data left: %s %s (%d MB needed)" % (m.group(2), m.group(3), self.pyfile.size / 1048576)) if not data_left: - m = re.search(self.PASSPORT_RENEW_PATTERN, self.html) - renew = int(m.group(1) + 60 * (m.group(2) + 60 * m.group(3))) if found else 600 - self.logDebug('Waiting %d seconds for a new passport' % renew) - self.retry(wait_time=renew, reason="Passport renewal") + self.retry(wait_time=600, reason="Passport renewal") self.handleDownload(False) -- cgit v1.2.3 From dabee359dd8c3870e0302e99457e6dd1bb93d736 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Tue, 21 Oct 2014 16:01:05 +0200 Subject: Remove needless self.html --- module/plugins/hoster/DlFreeFr.py | 1 - module/plugins/hoster/FilerNet.py | 3 --- module/plugins/hoster/MegasharesCom.py | 2 -- 3 files changed, 6 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/DlFreeFr.py b/module/plugins/hoster/DlFreeFr.py index b3ed346fe..b653e2a8f 100644 --- a/module/plugins/hoster/DlFreeFr.py +++ b/module/plugins/hoster/DlFreeFr.py @@ -144,7 +144,6 @@ class DlFreeFr(SimpleHoster): valid_url = pyfile.url headers = self.load(valid_url, just_header=True) - self.html = None if headers.get('code') == 302: valid_url = headers.get('location') headers = self.load(valid_url, just_header=True) diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py index 46c914e9b..7a850a849 100644 --- a/module/plugins/hoster/FilerNet.py +++ b/module/plugins/hoster/FilerNet.py @@ -41,9 +41,6 @@ class FilerNet(SimpleHoster): def handleFree(self): - self.req.setOption("timeout", 120) - self.html = self.load(self.pyfile.url, decode=not self.TEXT_ENCODING, cookies=self.COOKIES) - # Wait between downloads m = re.search(r'musst du <span id="time">(\d+)</span> Sekunden warten', self.html) if m: diff --git a/module/plugins/hoster/MegasharesCom.py b/module/plugins/hoster/MegasharesCom.py index 61a314de4..e674ae7fa 100644 --- a/module/plugins/hoster/MegasharesCom.py +++ b/module/plugins/hoster/MegasharesCom.py @@ -47,8 +47,6 @@ class MegasharesCom(SimpleHoster): if self.NO_SLOTS_PATTERN in self.html: self.retry(wait_time=5 * 60) - self.getFileInfo() - m = re.search(self.REACTIVATE_PASSPORT_PATTERN, self.html) if m: passport_num = m.group(1) -- cgit v1.2.3 From f7b87385de7bb559422c5da1f9ef2ef768a6355b Mon Sep 17 00:00:00 2001 From: zapp-brannigan <zapp-brannigan@users.noreply.github.com> Date: Wed, 22 Oct 2014 10:11:51 +0200 Subject: LoadTo.py] Improve checkDownload Sometimes, files are not downloaded properly. You receive a html-page instead of the desired file. It happens mostly on small files, but it isn't reproducable. Restarting the link solves the issue. --- module/plugins/hoster/LoadTo.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/LoadTo.py b/module/plugins/hoster/LoadTo.py index 6f1fdb575..a28428b73 100644 --- a/module/plugins/hoster/LoadTo.py +++ b/module/plugins/hoster/LoadTo.py @@ -13,7 +13,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class LoadTo(SimpleHoster): __name__ = "LoadTo" __type__ = "hoster" - __version__ = "0.17" + __version__ = "0.18" __pattern__ = r'http://(?:www\.)?load\.to/\w+' @@ -60,11 +60,14 @@ class LoadTo(SimpleHoster): else: captcha_challenge, captcha_response = solvemedia.challenge(captcha_key) self.download(download_url, post={"adcopy_challenge": captcha_challenge, "adcopy_response": captcha_response}) - check = self.checkDownload({"404": re.compile("\A<h1>404 Not Found</h1>")}) + check = self.checkDownload({'404': re.compile("\A<h1>404 Not Found</h1>"), 'html': re.compile("html")}) if check == "404": self.logWarning("The captcha you entered was incorrect. Please try again.") self.invalidCaptcha() self.retry() + elif check == "html": + self.logWarning("Downloaded file is an html page, will retry") + self.retry() getInfo = create_getInfo(LoadTo) -- cgit v1.2.3 From f00dbe52cee93a0aad9b6747419ff7271adb6e84 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 22 Oct 2014 10:12:21 +0200 Subject: Code cosmetics --- module/plugins/hoster/DevhostSt.py | 2 +- module/plugins/hoster/DropboxCom.py | 2 +- module/plugins/hoster/FilepupNet.py | 2 +- module/plugins/hoster/KingfilesNet.py | 2 +- module/plugins/hoster/SpeedyshareCom.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/DevhostSt.py b/module/plugins/hoster/DevhostSt.py index 6ad6a551f..643538e4d 100644 --- a/module/plugins/hoster/DevhostSt.py +++ b/module/plugins/hoster/DevhostSt.py @@ -43,7 +43,7 @@ class DevhostSt(SimpleHoster): check = self.checkDownload({'html': re.compile("html")}) if check == "html": - self.error("Downloaded file is an html file") + self.error("Downloaded file is an html page") getInfo = create_getInfo(DevhostSt) diff --git a/module/plugins/hoster/DropboxCom.py b/module/plugins/hoster/DropboxCom.py index c0f8e8306..efc711bd4 100644 --- a/module/plugins/hoster/DropboxCom.py +++ b/module/plugins/hoster/DropboxCom.py @@ -36,7 +36,7 @@ class DropboxCom(SimpleHoster): check = self.checkDownload({'html': re.compile("html")}) if check == "html": - self.error("Downloaded file is an html file") + self.error("Downloaded file is an html page") getInfo = create_getInfo(DropboxCom) diff --git a/module/plugins/hoster/FilepupNet.py b/module/plugins/hoster/FilepupNet.py index 366cefc88..2a1c43913 100644 --- a/module/plugins/hoster/FilepupNet.py +++ b/module/plugins/hoster/FilepupNet.py @@ -45,7 +45,7 @@ class FilepupNet(SimpleHoster): check = self.checkDownload({'html': re.compile("html")}) if check == "html": - self.error("Downloaded file is an html file") + self.error("Downloaded file is an html page") getInfo = create_getInfo(FilepupNet) diff --git a/module/plugins/hoster/KingfilesNet.py b/module/plugins/hoster/KingfilesNet.py index c6dbd1e5c..7211aa378 100644 --- a/module/plugins/hoster/KingfilesNet.py +++ b/module/plugins/hoster/KingfilesNet.py @@ -81,7 +81,7 @@ class KingfilesNet(SimpleHoster): check = self.checkDownload({'html': re.compile("<html>")}) if check == "html": - self.error("Downloaded file is an html file") + self.error("Downloaded file is an html page") getInfo = create_getInfo(KingfilesNet) diff --git a/module/plugins/hoster/SpeedyshareCom.py b/module/plugins/hoster/SpeedyshareCom.py index 0696ae810..98d74631f 100644 --- a/module/plugins/hoster/SpeedyshareCom.py +++ b/module/plugins/hoster/SpeedyshareCom.py @@ -45,7 +45,7 @@ class SpeedyshareCom(SimpleHoster): check = self.checkDownload({'html': re.compile("html")}) if check == "html": - self.error("Downloaded file is an html file") + self.error("Downloaded file is an html page") getInfo = create_getInfo(SpeedyshareCom) -- cgit v1.2.3 From 0672bc1e4a19aeff19416084de3d68cff4a5b390 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 22 Oct 2014 14:30:37 +0200 Subject: [FilerNet] Revert last revert XD --- module/plugins/hoster/FilerNet.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py index 7a850a849..6d62dfde8 100644 --- a/module/plugins/hoster/FilerNet.py +++ b/module/plugins/hoster/FilerNet.py @@ -16,7 +16,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class FilerNet(SimpleHoster): __name__ = "FilerNet" __type__ = "hoster" - __version__ = "0.06" + __version__ = "0.07" __pattern__ = r'https?://(?:www\.)?filer\.net/get/(\w+)' @@ -30,15 +30,6 @@ class FilerNet(SimpleHoster): LINK_PATTERN = r'href="([^"]+)">Get download</a>' - RECAPTCHA_KEY = "6LcFctISAAAAAAgaeHgyqhNecGJJRnxV1m_vAz3V" - - - def process(self, pyfile): - if self.premium and (not self.FORCE_CHECK_TRAFFIC or self.checkTrafficLeft()): - self.handlePremium() - else: - self.handleFree() - def handleFree(self): # Wait between downloads @@ -47,8 +38,6 @@ class FilerNet(SimpleHoster): waittime = int(m.group(1)) self.retry(3, waittime, "Wait between free downloads") - self.getFileInfo() - self.html = self.load(self.pyfile.url, decode=True) inputs = self.parseHtmlForm(input_names='token')[1] @@ -69,8 +58,12 @@ class FilerNet(SimpleHoster): recaptcha = ReCaptcha(self) + captcha_key = recaptcha.detect_key() + if captcha_key is None: + self.parseError("ReCaptcha key not found") + for _ in xrange(5): - challenge, response = recaptcha.challenge(self.RECAPTCHA_KEY) + challenge, response = recaptcha.challenge(captcha_key) post_data = {'recaptcha_challenge_field': challenge, 'recaptcha_response_field': response, 'hash': hash_data} -- cgit v1.2.3 From 166a0c3e33cebc81ce9440a93042befa595e2a87 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 22 Oct 2014 16:40:30 +0200 Subject: [Keep2shareCC] Fix CAPTCHA_PATTERN --- module/plugins/hoster/Keep2shareCC.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/Keep2shareCC.py b/module/plugins/hoster/Keep2shareCC.py index 1da65f3c8..26a50bb61 100644 --- a/module/plugins/hoster/Keep2shareCC.py +++ b/module/plugins/hoster/Keep2shareCC.py @@ -11,13 +11,14 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class Keep2shareCC(SimpleHoster): __name__ = "Keep2shareCC" __type__ = "hoster" - __version__ = "0.11" + __version__ = "0.12" __pattern__ = r'https?://(?:www\.)?(keep2share|k2s|keep2s)\.cc/file/(?P<ID>\w+)' __description__ = """Keep2share.cc hoster plugin""" __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __authors__ = [("stickell", "l.stickell@yahoo.it"), + ("Walter Purcaro", "vuolter@gmail.com")] FILE_NAME_PATTERN = r'File: <span>(?P<N>.+)</span>' @@ -25,6 +26,7 @@ class Keep2shareCC(SimpleHoster): OFFLINE_PATTERN = r'File not found or deleted|Sorry, this file is blocked or deleted|Error 404' LINK_PATTERN = r'To download this file with slow speed, use <a href="([^"]+)">this link</a>' + CAPTCHA_PATTERN = r'src="(/file/captcha\.html.+?)"' WAIT_PATTERN = r'Please wait ([\d:]+) to download this file' MULTIDL_ERROR = r'Free account does not allow to download more than one file at the same time' @@ -69,17 +71,14 @@ class Keep2shareCC(SimpleHoster): def handleCaptcha(self): - recaptcha = ReCaptcha(self) + m = re.search(self.CAPTCHA_PATTERN, self.html) + if m is None: + self.error("Captcha key not found") - captcha_key = recaptcha.detect_key() - if captcha_key is None: - self.error("ReCaptcha key not found") + captcha_url = urljoin(self.base_url, m.group(1)) for _ in xrange(5): - challenge, response = recaptcha.challenge(captcha_key) - post_data = {'recaptcha_challenge_field': challenge, - 'recaptcha_response_field': response, - 'CaptchaForm%5Bcode%5D': '', + post_data = {'CaptchaForm[code]': self.decryptCaptcha(captcha_url), 'free': 1, 'freeDownloadRequest': 1, 'uniqueId': self.fid, -- cgit v1.2.3 From 1b096b2eb2634e8dea80b06ab9ecde206b198b35 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 22 Oct 2014 19:47:00 +0200 Subject: Spare code cosmetics --- module/plugins/hoster/BezvadataCz.py | 2 +- module/plugins/hoster/CrockoCom.py | 4 ++-- module/plugins/hoster/DataHu.py | 6 ++++-- module/plugins/hoster/DataportCz.py | 2 +- module/plugins/hoster/DepositfilesCom.py | 2 -- module/plugins/hoster/FastshareCz.py | 19 +++++++------------ module/plugins/hoster/FilefactoryCom.py | 1 - module/plugins/hoster/FilerNet.py | 5 ++--- module/plugins/hoster/LomafileCom.py | 2 +- module/plugins/hoster/MegaRapidCz.py | 4 ++-- module/plugins/hoster/OneFichierCom.py | 1 - module/plugins/hoster/ShareonlineBiz.py | 25 +++++++++---------------- module/plugins/hoster/TurbobitNet.py | 5 ++--- module/plugins/hoster/UploadheroCom.py | 1 - 14 files changed, 31 insertions(+), 48 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/BezvadataCz.py b/module/plugins/hoster/BezvadataCz.py index dcf9bf293..ffd586f74 100644 --- a/module/plugins/hoster/BezvadataCz.py +++ b/module/plugins/hoster/BezvadataCz.py @@ -77,7 +77,7 @@ class BezvadataCz(SimpleHoster): def checkErrors(self): if 'images/button-download-disable.png' in self.html: - self.longWait(5 * 60, 24) # parallel dl limit + self.longWait(5 * 60, 24) #: parallel dl limit elif '<div class="infobox' in self.html: self.tempOffline() diff --git a/module/plugins/hoster/CrockoCom.py b/module/plugins/hoster/CrockoCom.py index f685d7452..15bf25ad2 100644 --- a/module/plugins/hoster/CrockoCom.py +++ b/module/plugins/hoster/CrockoCom.py @@ -22,7 +22,7 @@ class CrockoCom(SimpleHoster): FILE_SIZE_PATTERN = r'<span class="tip1"><span class="inner">(?P<S>[^<]+)</span></span>' OFFLINE_PATTERN = r'<h1>Sorry,<br />the page you\'re looking for <br />isn\'t here.</h1>|File not found' - CAPTCHA_URL_PATTERN = re.compile(r"u='(/file_contents/captcha/\w+)';\s*w='(\d+)';") + CAPTCHA_PATTERN = re.compile(r"u='(/file_contents/captcha/\w+)';\s*w='(\d+)';") FORM_PATTERN = r'<form method="post" action="([^"]+)">(.*?)</form>' FORM_INPUT_PATTERN = r'<input[^>]* name="?([^" ]+)"? value="?([^" ]+)"?[^>]*>' @@ -35,7 +35,7 @@ class CrockoCom(SimpleHoster): self.fail("You need Premium membership to download this file.") for _ in xrange(5): - m = re.search(self.CAPTCHA_URL_PATTERN, self.html) + m = re.search(self.CAPTCHA_PATTERN, self.html) if m: url, wait_time = 'http://crocko.com' + m.group(1), m.group(2) self.wait(wait_time) diff --git a/module/plugins/hoster/DataHu.py b/module/plugins/hoster/DataHu.py index d3a13c54b..d76444d32 100644 --- a/module/plugins/hoster/DataHu.py +++ b/module/plugins/hoster/DataHu.py @@ -26,10 +26,12 @@ class DataHu(SimpleHoster): LINK_PATTERN = r'<div class="download_box_button"><a href="([^"]+)">' - def handleFree(self): + def setup(self): self.resumeDownload = True - self.html = self.load(self.pyfile.url, decode=True) + self.multiDL = self.premium + + def handleFree(self): m = re.search(self.LINK_PATTERN, self.html) if m: url = m.group(1) diff --git a/module/plugins/hoster/DataportCz.py b/module/plugins/hoster/DataportCz.py index c79a21b8e..6fcbfc2ad 100644 --- a/module/plugins/hoster/DataportCz.py +++ b/module/plugins/hoster/DataportCz.py @@ -21,7 +21,7 @@ class DataportCz(SimpleHoster): FILE_URL_REPLACEMENTS = [(__pattern__, r'http://www.dataport.cz/file/\1')] - CAPTCHA_URL_PATTERN = r'<section id="captcha_bg">\s*<img src="(.*?)"' + CAPTCHA_PATTERN = r'<section id="captcha_bg">\s*<img src="(.*?)"' FREE_SLOTS_PATTERN = ur'Počet volných slotů: <span class="darkblue">(\d+)</span><br />' diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index d49b3fc94..ade91e7d4 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -102,8 +102,6 @@ class DepositfilesCom(SimpleHoster): self.retry(wait_time=60) def handlePremium(self): - self.html = self.load(self.pyfile.url, cookies=self.COOKIES) - if '<span class="html_download_api-gold_traffic_limit">' in self.html: self.logWarning("Download limit reached") self.retry(25, 60 * 60, "Download limit reached") diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py index 337977095..2a8d3af7d 100644 --- a/module/plugins/hoster/FastshareCz.py +++ b/module/plugins/hoster/FastshareCz.py @@ -64,20 +64,15 @@ class FastshareCz(SimpleHoster): header = self.load(self.pyfile.url, just_header=True) if "location" in header: url = header['location'] + elif self.CREDIT_PATTERN in self.html: + self.logWarning("Not enough traffic left") + self.resetAccount() else: - self.html = self.load(self.pyfile.url) - - self.getFileInfo() # - - if self.CREDIT_PATTERN in self.html: - self.logWarning("Not enough traffic left") - self.resetAccount() + m = re.search(self.PREMIUM_URL_PATTERN, self.html) + if m: + url = m.group(1) else: - m = re.search(self.PREMIUM_URL_PATTERN, self.html) - if m: - url = m.group(1) - else: - self.error("Premium URL") + self.error("Premium URL") self.logDebug("PREMIUM URL: " + url) self.download(url, disposition=True) diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py index 0e422f108..a5942e261 100644 --- a/module/plugins/hoster/FilefactoryCom.py +++ b/module/plugins/hoster/FilefactoryCom.py @@ -38,7 +38,6 @@ class FilefactoryCom(SimpleHoster): def handleFree(self): - self.html = self.load(self.pyfile.url, decode=True) if "Currently only Premium Members can download files larger than" in self.html: self.fail("File too large for free download") elif "All free download slots on this server are currently in use" in self.html: diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py index 6d62dfde8..7a8d49378 100644 --- a/module/plugins/hoster/FilerNet.py +++ b/module/plugins/hoster/FilerNet.py @@ -18,7 +18,7 @@ class FilerNet(SimpleHoster): __type__ = "hoster" __version__ = "0.07" - __pattern__ = r'https?://(?:www\.)?filer\.net/get/(\w+)' + __pattern__ = r'https?://(?:www\.)?filer\.net/get/\w+' __description__ = """Filer.net hoster plugin""" __license__ = "GPLv3" @@ -35,8 +35,7 @@ class FilerNet(SimpleHoster): # Wait between downloads m = re.search(r'musst du <span id="time">(\d+)</span> Sekunden warten', self.html) if m: - waittime = int(m.group(1)) - self.retry(3, waittime, "Wait between free downloads") + self.retry(wait_time=int(m.group(1)), reason="Wait between free downloads") self.html = self.load(self.pyfile.url, decode=True) diff --git a/module/plugins/hoster/LomafileCom.py b/module/plugins/hoster/LomafileCom.py index 0c7e03484..1c86b16e8 100644 --- a/module/plugins/hoster/LomafileCom.py +++ b/module/plugins/hoster/LomafileCom.py @@ -24,7 +24,7 @@ class LomafileCom(XFSPHoster): OFFLINE_PATTERN = r'>(No such file|Software error:<)' TEMP_OFFLINE_PATTERN = r'The page may have been renamed, removed or be temporarily unavailable.<' - CAPTCHA_URL_PATTERN = r'(http://lomafile\.com/captchas/[^"\']+)' + CAPTCHA_PATTERN = r'(http://lomafile\.com/captchas/[^"\']+)' getInfo = create_getInfo(LomafileCom) diff --git a/module/plugins/hoster/MegaRapidCz.py b/module/plugins/hoster/MegaRapidCz.py index 06e6626c6..153f6ea8b 100644 --- a/module/plugins/hoster/MegaRapidCz.py +++ b/module/plugins/hoster/MegaRapidCz.py @@ -53,7 +53,7 @@ class MegaRapidCz(SimpleHoster): self.html = self.load(self.pyfile.url, decode=True) except BadHeader, e: self.account.relogin(self.user) - self.retry(max_tries=3, reason=str(e)) + self.retry(wait_time=60, reason=str(e)) m = re.search(self.LINK_PATTERN, self.html) if m: @@ -63,7 +63,7 @@ class MegaRapidCz(SimpleHoster): else: if re.search(self.ERR_LOGIN_PATTERN, self.html): self.relogin(self.user) - self.retry(max_tries=3, reason="User login failed") + self.retry(wait_time=60, reason="User login failed") elif re.search(self.ERR_CREDIT_PATTERN, self.html): self.fail("Not enough credit left") else: diff --git a/module/plugins/hoster/OneFichierCom.py b/module/plugins/hoster/OneFichierCom.py index e6e193b89..3f3d0a19a 100644 --- a/module/plugins/hoster/OneFichierCom.py +++ b/module/plugins/hoster/OneFichierCom.py @@ -37,7 +37,6 @@ class OneFichierCom(SimpleHoster): def handleFree(self): - self.html = self.load(self.pyfile.url, decode=True) m = re.search(self.WAIT_PATTERN, self.html) if m: wait_time = int(m.group(1)) + 1 #: One minute more than what the page displays to be safe diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py index 7a73ab316..b7c112a45 100644 --- a/module/plugins/hoster/ShareonlineBiz.py +++ b/module/plugins/hoster/ShareonlineBiz.py @@ -55,38 +55,28 @@ class ShareonlineBiz(Hoster): def setup(self): - # range request not working? - # api supports resume, only one chunk - # website isn't supporting resuming in first place self.file_id = re.match(self.__pattern__, self.pyfile.url).group("ID") self.pyfile.url = "http://www.share-online.biz/dl/" + self.file_id self.resumeDownload = self.premium self.multiDL = False - #self.chunkLimit = 1 self.check_data = None + def process(self, pyfile): if self.premium: self.handlePremium() - #web-download fallback removed - didn't work anyway else: self.handleFree() - # check = self.checkDownload({"failure": re.compile(self.ERROR_INFO_PATTERN)}) - # if check == "failure": - # try: - # self.retry(reason=self.lastCheck.group(1).decode("utf8")) - # except: - # self.retry(reason="Unknown error") - if self.api_data: self.check_data = {"size": int(self.api_data['size']), "md5": self.api_data['md5']} + def loadAPIData(self): api_url_base = "http://api.share-online.biz/linkcheck.php?md5=1" - api_param_file = {"links": self.file_id} # api only supports old style links + api_param_file = {"links": self.file_id} #: api only supports old style links src = self.load(api_url_base, cookies=False, post=api_param_file, decode=True) fields = src.split(";") @@ -96,15 +86,16 @@ class ShareonlineBiz(Hoster): self.offline() else: self.api_data['filename'] = fields[2] - self.api_data['size'] = fields[3] # in bytes - self.api_data['md5'] = fields[4].strip().lower().replace("\n\n", "") # md5 + self.api_data['size'] = fields[3] #: in bytes + self.api_data['md5'] = fields[4].strip().lower().replace("\n\n", "") #: md5 + def handleFree(self): self.loadAPIData() self.pyfile.name = self.api_data['filename'] self.pyfile.size = int(self.api_data['size']) - self.html = self.load(self.pyfile.url, cookies=True) # refer, stuff + self.html = self.load(self.pyfile.url, cookies=True) #: refer, stuff self.setWait(3) self.wait() @@ -152,6 +143,7 @@ class ShareonlineBiz(Hoster): else: self.correctCaptcha() + def handlePremium(self): #: should be working better loading (account) api internally self.account.getAccountInfo(self.user, True) src = self.load("http://api.share-online.biz/account.php", @@ -177,6 +169,7 @@ class ShareonlineBiz(Hoster): self.multiDL = True self.download(dlLink) + def checkErrors(self): m = re.search(r"/failure/(.*?)/1", self.req.lastEffectiveURL) if m is None: diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py index 8557e0ce7..ded926010 100644 --- a/module/plugins/hoster/TurbobitNet.py +++ b/module/plugins/hoster/TurbobitNet.py @@ -38,7 +38,7 @@ class TurbobitNet(SimpleHoster): LINK_PATTERN = r'(?P<url>/download/redirect/[^"\']+)' LIMIT_WAIT_PATTERN = r'<div id=\'timeout\'>(\d+)<' - CAPTCHA_URL_PATTERN = r'<img alt="Captcha" src="(.+?)"' + CAPTCHA_PATTERN = r'<img alt="Captcha" src="(.+?)"' def handleFree(self): @@ -78,7 +78,7 @@ class TurbobitNet(SimpleHoster): inputs['recaptcha_challenge_field'], inputs['recaptcha_response_field'] = recaptcha.challenge(captcha_key) else: - m = re.search(self.CAPTCHA_URL_PATTERN, self.html) + m = re.search(self.CAPTCHA_PATTERN, self.html) if m is None: self.error('captcha') captcha_url = m.group(1) @@ -165,7 +165,6 @@ class TurbobitNet(SimpleHoster): def handlePremium(self): self.logDebug("Premium download as user %s" % self.user) - self.html = self.load(self.pyfile.url) # Useless in 0.5 self.downloadFile() diff --git a/module/plugins/hoster/UploadheroCom.py b/module/plugins/hoster/UploadheroCom.py index 3c26a0b8b..753ad6807 100644 --- a/module/plugins/hoster/UploadheroCom.py +++ b/module/plugins/hoster/UploadheroCom.py @@ -60,7 +60,6 @@ class UploadheroCom(SimpleHoster): def handlePremium(self): self.logDebug("%s: Use Premium Account" % self.__name__) - self.html = self.load(self.pyfile.url) link = re.search(self.PREMIUM_URL_PATTERN, self.html).group(1) self.logDebug("Downloading link : '%s'" % link) self.download(link) -- cgit v1.2.3 From 0eb6e7ec4a1144dcca824d8add049787d3da1762 Mon Sep 17 00:00:00 2001 From: Walter Purcaro <vuolter@gmail.com> Date: Wed, 22 Oct 2014 19:44:59 +0200 Subject: Two space before function declaration --- module/plugins/hoster/AlldebridCom.py | 2 ++ module/plugins/hoster/BayfilesCom.py | 2 ++ module/plugins/hoster/BezvadataCz.py | 3 +++ module/plugins/hoster/CzshareCom.py | 3 +++ module/plugins/hoster/DailymotionCom.py | 5 +++++ module/plugins/hoster/DateiTo.py | 2 ++ module/plugins/hoster/DebridItaliaCom.py | 1 + module/plugins/hoster/DepositfilesCom.py | 1 + module/plugins/hoster/DlFreeFr.py | 1 + module/plugins/hoster/EdiskCz.py | 1 + module/plugins/hoster/EuroshareEu.py | 2 ++ module/plugins/hoster/FastixRu.py | 2 ++ module/plugins/hoster/FastshareCz.py | 1 + module/plugins/hoster/FileStoreTo.py | 1 + module/plugins/hoster/FilecloudIo.py | 2 ++ module/plugins/hoster/FilefactoryCom.py | 1 + module/plugins/hoster/FilepostCom.py | 1 + module/plugins/hoster/FilesMailRu.py | 5 +++++ module/plugins/hoster/FileserveCom.py | 6 ++++++ module/plugins/hoster/FreakshareCom.py | 9 +++++++++ module/plugins/hoster/FreeWayMe.py | 1 + module/plugins/hoster/FshareVn.py | 4 ++++ module/plugins/hoster/GamefrontCom.py | 4 ++++ module/plugins/hoster/GigapetaCom.py | 1 + module/plugins/hoster/GooIm.py | 1 + module/plugins/hoster/HellshareCz.py | 1 + module/plugins/hoster/IfolderRu.py | 1 + module/plugins/hoster/JumbofilesCom.py | 1 + module/plugins/hoster/LetitbitNet.py | 4 +++- module/plugins/hoster/LinksnappyCom.py | 2 ++ module/plugins/hoster/LuckyShareNet.py | 1 + module/plugins/hoster/MediafireCom.py | 3 +++ module/plugins/hoster/MegaDebridEu.py | 4 ++++ module/plugins/hoster/MegaRapidCz.py | 1 + module/plugins/hoster/MegacrypterCom.py | 1 + module/plugins/hoster/MultishareCz.py | 4 ++++ module/plugins/hoster/MyfastfileCom.py | 1 + module/plugins/hoster/MyvideoDe.py | 4 ++++ module/plugins/hoster/NetloadIn.py | 8 ++++++++ module/plugins/hoster/NowDownloadEu.py | 1 + module/plugins/hoster/OverLoadMe.py | 2 ++ module/plugins/hoster/PornhostCom.py | 4 ++++ module/plugins/hoster/PornhubCom.py | 4 ++++ module/plugins/hoster/PremiumTo.py | 2 ++ module/plugins/hoster/QuickshareCz.py | 2 ++ module/plugins/hoster/RPNetBiz.py | 1 + module/plugins/hoster/RapidshareCom.py | 7 +++++++ module/plugins/hoster/RealdebridCom.py | 2 ++ module/plugins/hoster/RedtubeCom.py | 4 ++++ module/plugins/hoster/RehostTo.py | 2 ++ module/plugins/hoster/RemixshareCom.py | 1 + module/plugins/hoster/ShareplaceCom.py | 6 ++++++ module/plugins/hoster/SimplyPremiumCom.py | 1 + module/plugins/hoster/SimplydebridCom.py | 1 + module/plugins/hoster/StreamCz.py | 2 +- module/plugins/hoster/TwoSharedCom.py | 1 + module/plugins/hoster/UlozTo.py | 5 +++++ module/plugins/hoster/UloziskoSk.py | 1 + module/plugins/hoster/UnrestrictLi.py | 2 ++ module/plugins/hoster/UploadedTo.py | 3 +++ module/plugins/hoster/UploadheroCom.py | 2 ++ module/plugins/hoster/VeehdCom.py | 6 ++++++ module/plugins/hoster/VeohCom.py | 1 + module/plugins/hoster/VimeoCom.py | 1 + module/plugins/hoster/WebshareCz.py | 1 + module/plugins/hoster/WrzucTo.py | 1 + module/plugins/hoster/XHamsterCom.py | 4 ++++ module/plugins/hoster/Xdcc.py | 2 ++ module/plugins/hoster/YoupornCom.py | 4 ++++ module/plugins/hoster/YourfilesTo.py | 6 ++++++ module/plugins/hoster/YoutubeCom.py | 2 ++ module/plugins/hoster/ZDF.py | 3 +++ module/plugins/hoster/ZeveraCom.py | 1 + 73 files changed, 184 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 74509110c..1b65237a0 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -31,10 +31,12 @@ class AlldebridCom(Hoster): name += "%s.tmp" % randrange(100, 999) return name + def setup(self): self.chunkLimit = 16 self.resumeDownload = True + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): new_url = pyfile.url diff --git a/module/plugins/hoster/BayfilesCom.py b/module/plugins/hoster/BayfilesCom.py index b78af6286..8622f4dca 100644 --- a/module/plugins/hoster/BayfilesCom.py +++ b/module/plugins/hoster/BayfilesCom.py @@ -63,12 +63,14 @@ class BayfilesCom(SimpleHoster): self.error("Free link") self.startDownload(m.group(1)) + def handlePremium(self): m = re.search(self.PREMIUM_LINK_PATTERN, self.html) if m is None: self.error("Premium link") self.startDownload(m.group(1)) + def startDownload(self, url): self.logDebug("%s URL: %s" % ("Premium" if self.premium else "Free", url)) self.download(url) diff --git a/module/plugins/hoster/BezvadataCz.py b/module/plugins/hoster/BezvadataCz.py index ffd586f74..9da1861ce 100644 --- a/module/plugins/hoster/BezvadataCz.py +++ b/module/plugins/hoster/BezvadataCz.py @@ -25,6 +25,7 @@ class BezvadataCz(SimpleHoster): def setup(self): self.multiDL = self.resumeDownload = True + def handleFree(self): #download button m = re.search(r'<a class="stahnoutSoubor".*?href="(.*?)"', self.html) @@ -75,12 +76,14 @@ class BezvadataCz(SimpleHoster): self.download(url) + def checkErrors(self): if 'images/button-download-disable.png' in self.html: self.longWait(5 * 60, 24) #: parallel dl limit elif '<div class="infobox' in self.html: self.tempOffline() + def loadcaptcha(self, data, *args, **kwargs): return data.decode("base64") diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index 9f2f23d9e..2b8278a7e 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -62,6 +62,7 @@ class CzshareCom(SimpleHoster): return True + def handlePremium(self): # parse download link try: @@ -75,6 +76,7 @@ class CzshareCom(SimpleHoster): self.download("http://sdilej.cz/profi_down.php", post=inputs, disposition=True) self.checkDownloadedFile() + def handleFree(self): # get free url m = re.search(self.FREE_URL_PATTERN, self.html) @@ -126,6 +128,7 @@ class CzshareCom(SimpleHoster): self.download(url) self.checkDownloadedFile() + def checkDownloadedFile(self): # check download check = self.checkDownload({ diff --git a/module/plugins/hoster/DailymotionCom.py b/module/plugins/hoster/DailymotionCom.py index 726663ca6..b4ef6fa92 100644 --- a/module/plugins/hoster/DailymotionCom.py +++ b/module/plugins/hoster/DailymotionCom.py @@ -54,6 +54,7 @@ class DailymotionCom(Hoster): def setup(self): self.resumeDownload = self.multiDL = True + def getStreams(self): streams = [] for result in re.finditer(r"\"(?P<URL>http:\\/\\/www.dailymotion.com\\/cdn\\/H264-(?P<QF>.*?)\\.*?)\"", @@ -65,6 +66,7 @@ class DailymotionCom(Hoster): streams.append((quality, link)) return sorted(streams, key=lambda x: x[0][::-1]) + def getQuality(self): q = self.getConfig("quality") if q == "Lowest": @@ -75,6 +77,7 @@ class DailymotionCom(Hoster): quality = int(q.rsplit(" ")[1][:-1]) return quality + def getLink(self, streams, quality): if quality > 0: for x, s in reversed([item for item in enumerate(streams)]): @@ -91,6 +94,7 @@ class DailymotionCom(Hoster): self.logInfo("Download video quality %sx%s" % s[0]) return s[1] + def checkInfo(self, pyfile): pyfile.name, pyfile.size, pyfile.status, pyfile.url = getInfo([pyfile.url])[0] if pyfile.status == 1: @@ -98,6 +102,7 @@ class DailymotionCom(Hoster): elif pyfile.status == 6: self.tempOffline() + def process(self, pyfile): self.checkInfo(pyfile) diff --git a/module/plugins/hoster/DateiTo.py b/module/plugins/hoster/DateiTo.py index 06a485eae..93840b108 100644 --- a/module/plugins/hoster/DateiTo.py +++ b/module/plugins/hoster/DateiTo.py @@ -65,6 +65,7 @@ class DateiTo(SimpleHoster): self.logDebug("Download URL", download_url) self.download(download_url) + def checkErrors(self): m = re.search(self.PARALELL_PATTERN, self.html) if m: @@ -73,6 +74,7 @@ class DateiTo(SimpleHoster): self.wait(wait_time + 1, False) self.retry() + def doWait(self): m = re.search(self.WAIT_PATTERN, self.html) wait_time = int(m.group(1)) if m else 30 diff --git a/module/plugins/hoster/DebridItaliaCom.py b/module/plugins/hoster/DebridItaliaCom.py index 4e961fa9f..b1a2a4c77 100644 --- a/module/plugins/hoster/DebridItaliaCom.py +++ b/module/plugins/hoster/DebridItaliaCom.py @@ -21,6 +21,7 @@ class DebridItaliaCom(Hoster): self.chunkLimit = -1 self.resumeDownload = True + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): new_url = pyfile.url diff --git a/module/plugins/hoster/DepositfilesCom.py b/module/plugins/hoster/DepositfilesCom.py index ade91e7d4..16340036f 100644 --- a/module/plugins/hoster/DepositfilesCom.py +++ b/module/plugins/hoster/DepositfilesCom.py @@ -101,6 +101,7 @@ class DepositfilesCom(SimpleHoster): except: self.retry(wait_time=60) + def handlePremium(self): if '<span class="html_download_api-gold_traffic_limit">' in self.html: self.logWarning("Download limit reached") diff --git a/module/plugins/hoster/DlFreeFr.py b/module/plugins/hoster/DlFreeFr.py index b653e2a8f..8932e749c 100644 --- a/module/plugins/hoster/DlFreeFr.py +++ b/module/plugins/hoster/DlFreeFr.py @@ -14,6 +14,7 @@ class CustomBrowser(Browser): def __init__(self, bucket=None, options={}): Browser.__init__(self, bucket, options) + def load(self, *args, **kwargs): post = kwargs.get("post") diff --git a/module/plugins/hoster/EdiskCz.py b/module/plugins/hoster/EdiskCz.py index 5112c55ab..a2e1937fb 100644 --- a/module/plugins/hoster/EdiskCz.py +++ b/module/plugins/hoster/EdiskCz.py @@ -27,6 +27,7 @@ class EdiskCz(SimpleHoster): def setup(self): self.multiDL = False + def process(self, pyfile): url = re.sub("/(stahni|sk/stahni)/", "/en/download/", pyfile.url) diff --git a/module/plugins/hoster/EuroshareEu.py b/module/plugins/hoster/EuroshareEu.py index a4a4e6881..d7c4b2eeb 100644 --- a/module/plugins/hoster/EuroshareEu.py +++ b/module/plugins/hoster/EuroshareEu.py @@ -31,6 +31,7 @@ class EuroshareEu(SimpleHoster): self.multiDL = self.resumeDownload = self.premium self.req.setOption("timeout", 120) + def handlePremium(self): if self.ERR_NOT_LOGGED_IN_PATTERN in self.html: self.account.relogin(self.user) @@ -46,6 +47,7 @@ class EuroshareEu(SimpleHoster): elif check == "json": self.fail(self.lastCheck.group(1)) + def handleFree(self): if re.search(self.ERR_PARDL_PATTERN, self.html) is not None: self.longWait(5 * 60, 12) diff --git a/module/plugins/hoster/FastixRu.py b/module/plugins/hoster/FastixRu.py index 7f61f7d7c..b1e834c61 100644 --- a/module/plugins/hoster/FastixRu.py +++ b/module/plugins/hoster/FastixRu.py @@ -30,10 +30,12 @@ class FastixRu(Hoster): name += "%s.tmp" % randrange(100, 999) return name + def setup(self): self.chunkLimit = 3 self.resumeDownload = True + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): new_url = pyfile.url diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py index 2a8d3af7d..0019a5708 100644 --- a/module/plugins/hoster/FastshareCz.py +++ b/module/plugins/hoster/FastshareCz.py @@ -60,6 +60,7 @@ class FastshareCz(SimpleHoster): elif check == "wrong_captcha": self.retry(max_tries=5, reason="Wrong captcha") + def handlePremium(self): header = self.load(self.pyfile.url, just_header=True) if "location" in header: diff --git a/module/plugins/hoster/FileStoreTo.py b/module/plugins/hoster/FileStoreTo.py index 549335a04..b8e56271b 100644 --- a/module/plugins/hoster/FileStoreTo.py +++ b/module/plugins/hoster/FileStoreTo.py @@ -25,6 +25,7 @@ class FileStoreTo(SimpleHoster): def setup(self): self.resumeDownload = self.multiDL = True + def handleFree(self): self.wait(10) ldc = re.search(r'wert="(\w+)"', self.html).group(1) diff --git a/module/plugins/hoster/FilecloudIo.py b/module/plugins/hoster/FilecloudIo.py index 5672e780d..659a2cc0f 100644 --- a/module/plugins/hoster/FilecloudIo.py +++ b/module/plugins/hoster/FilecloudIo.py @@ -37,6 +37,7 @@ class FilecloudIo(SimpleHoster): self.resumeDownload = self.multiDL = True self.chunkLimit = 1 + def handleFree(self): data = {"ukey": self.file_info['ID']} @@ -104,6 +105,7 @@ class FilecloudIo(SimpleHoster): else: self.fail("Unexpected server response") + def handlePremium(self): akey = self.account.getAccountData(self.user)['akey'] ukey = self.file_info['ID'] diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py index a5942e261..0801ca9a1 100644 --- a/module/plugins/hoster/FilefactoryCom.py +++ b/module/plugins/hoster/FilefactoryCom.py @@ -85,6 +85,7 @@ class FilefactoryCom(SimpleHoster): elif check == "error": self.fail("Unknown error") + def handlePremium(self): header = self.load(self.pyfile.url, just_header=True) if 'location' in header: diff --git a/module/plugins/hoster/FilepostCom.py b/module/plugins/hoster/FilepostCom.py index 0748b64f2..45fb2e644 100644 --- a/module/plugins/hoster/FilepostCom.py +++ b/module/plugins/hoster/FilepostCom.py @@ -93,6 +93,7 @@ class FilepostCom(SimpleHoster): # Download self.download(download_url) + def getJsonResponse(self, get_dict, post_dict, field): json_response = json_loads(self.load('https://filepost.com/files/get/', get=get_dict, post=post_dict)) self.logDebug(json_response) diff --git a/module/plugins/hoster/FilesMailRu.py b/module/plugins/hoster/FilesMailRu.py index 2889e0565..cd8069efc 100644 --- a/module/plugins/hoster/FilesMailRu.py +++ b/module/plugins/hoster/FilesMailRu.py @@ -45,6 +45,7 @@ class FilesMailRu(Hoster): if not self.account: self.multiDL = False + def process(self, pyfile): self.html = self.load(pyfile.url) self.url_pattern = '<a href="(.+?)" onclick="return Act\(this\, \'dlink\'\, event\)">(.+?)</a>' @@ -68,20 +69,24 @@ 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 diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py index 4e722eb9f..7a06472d3 100644 --- a/module/plugins/hoster/FileserveCom.py +++ b/module/plugins/hoster/FileserveCom.py @@ -64,6 +64,7 @@ class FileserveCom(Hoster): self.url = "%s%s" % (self.URLS[0], self.file_id) self.logDebug("File ID: %s URL: %s" % (self.file_id, self.url)) + def process(self, pyfile): pyfile.name, pyfile.size, status, self.url = checkFile(self, [self.url])[0] if status != 2: @@ -75,6 +76,7 @@ class FileserveCom(Hoster): else: self.handleFree() + def handleFree(self): self.html = self.load(self.url) action = self.load(self.url, post={"checkDownload": "check"}, decode=True) @@ -132,6 +134,7 @@ class FileserveCom(Hoster): self.thread.m.reconnecting.wait(3) # Ease issue with later downloads appearing to be in parallel + def doTimmer(self): response = self.load(self.url, post={"downloadLink": "wait"}, decode=True) self.logDebug("Wait response : %s" % response[:80]) @@ -150,6 +153,7 @@ class FileserveCom(Hoster): self.setWait(wait_time) self.wait() + def doCaptcha(self): captcha_key = re.search(self.CAPTCHA_KEY_PATTERN, self.html).group("key") recaptcha = ReCaptcha(self) @@ -170,12 +174,14 @@ class FileserveCom(Hoster): else: self.fail("Invalid captcha") + def doLongWait(self, m): wait_time = (int(m.group(1)) * {'seconds': 1, 'minutes': 60, 'hours': 3600}[m.group(2)]) if m else 12 * 60 self.setWait(wait_time, True) self.wait() self.retry() + def handlePremium(self): premium_url = None if self.__name__ == "FileserveCom": diff --git a/module/plugins/hoster/FreakshareCom.py b/module/plugins/hoster/FreakshareCom.py index df06f2e74..6287545cb 100644 --- a/module/plugins/hoster/FreakshareCom.py +++ b/module/plugins/hoster/FreakshareCom.py @@ -26,6 +26,7 @@ class FreakshareCom(Hoster): self.multiDL = False self.req_opts = [] + def process(self, pyfile): self.pyfile = pyfile @@ -62,6 +63,7 @@ class FreakshareCom(Hoster): elif check == "downloadserver": self.retry(5, 15 * 60, "No Download server") + def prepare(self): pyfile = self.pyfile @@ -81,10 +83,12 @@ class FreakshareCom(Hoster): return True + def download_html(self): self.load("http://freakshare.com/index.php", {"language": "EN"}) # Set english language in server session self.html = self.load(self.pyfile.url) + def get_file_url(self): """ returns the absolute downloadable filepath """ @@ -97,6 +101,7 @@ class FreakshareCom(Hoster): else: self.offline() + def get_file_name(self): if not self.html: self.download_html() @@ -110,6 +115,7 @@ class FreakshareCom(Hoster): else: return self.pyfile.url + def get_file_size(self): size = 0 if not self.html: @@ -124,6 +130,7 @@ class FreakshareCom(Hoster): return size + def get_waiting_time(self): if not self.html: self.download_html() @@ -138,6 +145,7 @@ class FreakshareCom(Hoster): else: return 60 + def file_exists(self): """ returns True or False """ @@ -148,6 +156,7 @@ class FreakshareCom(Hoster): else: return True + def get_download_options(self): re_envelope = re.search(r".*?value=\"Free\sDownload\".*?\n*?(.*?<.*?>\n*)*?\n*\s*?</form>", self.html).group(0) # get the whole request diff --git a/module/plugins/hoster/FreeWayMe.py b/module/plugins/hoster/FreeWayMe.py index 996c8b6aa..88ba982f6 100644 --- a/module/plugins/hoster/FreeWayMe.py +++ b/module/plugins/hoster/FreeWayMe.py @@ -20,6 +20,7 @@ class FreeWayMe(Hoster): self.chunkLimit = 1 self.multiDL = self.premium + def process(self, pyfile): if not self.account: self.logError(_("Please enter your %s account or deactivate this plugin") % "FreeWayMe") diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py index 1a995ce28..7ce7cd3e6 100644 --- a/module/plugins/hoster/FshareVn.py +++ b/module/plugins/hoster/FshareVn.py @@ -58,6 +58,7 @@ class FshareVn(SimpleHoster): self.handleFree() self.checkDownloadedFile() + def handleFree(self): self.html = self.load(self.pyfile.url, decode=True) @@ -94,9 +95,11 @@ class FshareVn(SimpleHoster): self.wait() self.download(self.url) + def handlePremium(self): self.download(self.pyfile.url) + def checkErrors(self): if '/error.php?' in self.req.lastEffectiveURL or u"Liên kết bạn chọn không tồn" in self.html: self.offline() @@ -111,6 +114,7 @@ class FshareVn(SimpleHoster): self.logError("Unknown error occured or wait time not parsed") self.retry(30, 2 * 60, "Unknown error") + def checkDownloadedFile(self): # check download check = self.checkDownload({ diff --git a/module/plugins/hoster/GamefrontCom.py b/module/plugins/hoster/GamefrontCom.py index b7e7f0bc8..2009d06ab 100644 --- a/module/plugins/hoster/GamefrontCom.py +++ b/module/plugins/hoster/GamefrontCom.py @@ -28,6 +28,7 @@ class GamefrontCom(Hoster): self.resumeDownload = self.multiDL = True self.chunkLimit = -1 + def process(self, pyfile): self.pyfile = pyfile self.html = self.load(pyfile.url, decode=True) @@ -44,12 +45,14 @@ class GamefrontCom(Hoster): self.download(link) + def _checkOnline(self): if re.search(self.PATTERN_OFFLINE, self.html): return False else: return True + def _getName(self): name = re.search(self.PATTERN_FILENAME, self.html) if name is None: @@ -57,6 +60,7 @@ class GamefrontCom(Hoster): return name.group(1) + def _getLink(self): self.html2 = self.load("http://www.gamefront.com/" + re.search("(files/service/thankyou\\?id=\w+)", self.html).group(1)) diff --git a/module/plugins/hoster/GigapetaCom.py b/module/plugins/hoster/GigapetaCom.py index efec11079..65d940c5a 100644 --- a/module/plugins/hoster/GigapetaCom.py +++ b/module/plugins/hoster/GigapetaCom.py @@ -55,6 +55,7 @@ class GigapetaCom(SimpleHoster): self.logDebug("Download URL: %s" % download_url) self.download(download_url) + def checkErrors(self): if "All threads for IP" in self.html: self.logDebug("Your IP is already downloading a file - wait and retry") diff --git a/module/plugins/hoster/GooIm.py b/module/plugins/hoster/GooIm.py index d27b38f1f..d8f4c6190 100644 --- a/module/plugins/hoster/GooIm.py +++ b/module/plugins/hoster/GooIm.py @@ -27,6 +27,7 @@ class GooIm(SimpleHoster): def setup(self): self.multiDL = self.resumeDownload = True + def handleFree(self): url = self.pyfile.url self.html = self.load(url, cookies=True) diff --git a/module/plugins/hoster/HellshareCz.py b/module/plugins/hoster/HellshareCz.py index 10975829c..7a8579e78 100644 --- a/module/plugins/hoster/HellshareCz.py +++ b/module/plugins/hoster/HellshareCz.py @@ -27,6 +27,7 @@ class HellshareCz(SimpleHoster): self.resumeDownload = self.multiDL = True if self.account else False self.chunkLimit = 1 + def process(self, pyfile): if not self.account: self.fail("User not logged in") diff --git a/module/plugins/hoster/IfolderRu.py b/module/plugins/hoster/IfolderRu.py index 774761049..176225e30 100644 --- a/module/plugins/hoster/IfolderRu.py +++ b/module/plugins/hoster/IfolderRu.py @@ -33,6 +33,7 @@ class IfolderRu(SimpleHoster): self.resumeDownload = self.multiDL = True if self.account else False self.chunkLimit = 1 + def process(self, pyfile): file_id = re.match(self.__pattern__, pyfile.url).group('ID') self.html = self.load("http://rusfolder.com/%s" % file_id, cookies=True, decode=True) diff --git a/module/plugins/hoster/JumbofilesCom.py b/module/plugins/hoster/JumbofilesCom.py index fe0b72804..f43ee7697 100644 --- a/module/plugins/hoster/JumbofilesCom.py +++ b/module/plugins/hoster/JumbofilesCom.py @@ -25,6 +25,7 @@ class JumbofilesCom(SimpleHoster): def setup(self): self.resumeDownload = self.multiDL = True + def handleFree(self): ukey = re.match(self.__pattern__, self.pyfile.url).group(1) post_data = {"id": ukey, "op": "download3", "rand": ""} diff --git a/module/plugins/hoster/LetitbitNet.py b/module/plugins/hoster/LetitbitNet.py index 8443c2206..002c986e2 100644 --- a/module/plugins/hoster/LetitbitNet.py +++ b/module/plugins/hoster/LetitbitNet.py @@ -56,7 +56,7 @@ class LetitbitNet(SimpleHoster): def setup(self): self.resumeDownload = True - #TODO confirm that resume works + def getFileInfo(self): api_rep = api_download_info(self.pyfile.url) @@ -67,6 +67,7 @@ class LetitbitNet(SimpleHoster): else: self.offline() + def handleFree(self): action, inputs = self.parseHtmlForm('id="ifree_form"') if not action: @@ -149,6 +150,7 @@ class LetitbitNet(SimpleHoster): else: self.fail("Download did not finish correctly") + def handlePremium(self): api_key = self.user premium_key = self.account.getAccountData(self.user)['password'] diff --git a/module/plugins/hoster/LinksnappyCom.py b/module/plugins/hoster/LinksnappyCom.py index 3372a505d..b96c9492c 100644 --- a/module/plugins/hoster/LinksnappyCom.py +++ b/module/plugins/hoster/LinksnappyCom.py @@ -27,6 +27,7 @@ class LinksnappyCom(Hoster): self.chunkLimit = -1 self.resumeDownload = True + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): new_url = pyfile.url @@ -67,6 +68,7 @@ class LinksnappyCom(Hoster): if check == "html302": self.retry(wait_time=5, reason="Linksnappy returns only HTML data.") + @staticmethod def _get_host(url): host = urlsplit(url).netloc diff --git a/module/plugins/hoster/LuckyShareNet.py b/module/plugins/hoster/LuckyShareNet.py index fe5a80679..4a4d4a047 100644 --- a/module/plugins/hoster/LuckyShareNet.py +++ b/module/plugins/hoster/LuckyShareNet.py @@ -38,6 +38,7 @@ class LuckyShareNet(SimpleHoster): self.retry(reason="Hash expired") return json_loads(rep) + # TODO: There should be a filesize limit for free downloads # TODO: Some files could not be downloaded in free mode def handleFree(self): diff --git a/module/plugins/hoster/MediafireCom.py b/module/plugins/hoster/MediafireCom.py index c2581aa9f..31b85b433 100644 --- a/module/plugins/hoster/MediafireCom.py +++ b/module/plugins/hoster/MediafireCom.py @@ -71,6 +71,7 @@ class MediafireCom(SimpleHoster): def setup(self): self.multiDL = False + def process(self, pyfile): pyfile.url = re.sub(r'/view/?\?', '/?', pyfile.url) @@ -93,6 +94,7 @@ class MediafireCom(SimpleHoster): self.multiDL = True self.download(self.url, disposition=True) + def handleFree(self): passwords = self.getPassword().splitlines() while self.PASSWORD_PATTERN in self.html: @@ -111,6 +113,7 @@ class MediafireCom(SimpleHoster): self.download(download_url) + def checkCaptcha(self): solvemedia = SolveMedia(self) diff --git a/module/plugins/hoster/MegaDebridEu.py b/module/plugins/hoster/MegaDebridEu.py index ca0569c6b..68b7e0c1e 100644 --- a/module/plugins/hoster/MegaDebridEu.py +++ b/module/plugins/hoster/MegaDebridEu.py @@ -29,6 +29,7 @@ class MegaDebridEu(Hoster): except IndexError: return "" + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): new_url = pyfile.url @@ -47,6 +48,7 @@ class MegaDebridEu(Hoster): pyfile.name = filename self.download(new_url, disposition=True) + def connectToApi(self): """ Connexion to the mega-debrid API @@ -63,6 +65,7 @@ class MegaDebridEu(Hoster): else: return False + def debridLink(self, linkToDebrid): """ Debrid a link @@ -78,6 +81,7 @@ class MegaDebridEu(Hoster): else: self.exitOnFail("Unable to debrid %s" % linkToDebrid) + def exitOnFail(self, msg): """ exit the plugin on fail case diff --git a/module/plugins/hoster/MegaRapidCz.py b/module/plugins/hoster/MegaRapidCz.py index 153f6ea8b..01b2aaf70 100644 --- a/module/plugins/hoster/MegaRapidCz.py +++ b/module/plugins/hoster/MegaRapidCz.py @@ -48,6 +48,7 @@ class MegaRapidCz(SimpleHoster): def setup(self): self.chunkLimit = 1 + def handlePremium(self): try: self.html = self.load(self.pyfile.url, decode=True) diff --git a/module/plugins/hoster/MegacrypterCom.py b/module/plugins/hoster/MegacrypterCom.py index 67dec2a0b..5464dedce 100644 --- a/module/plugins/hoster/MegacrypterCom.py +++ b/module/plugins/hoster/MegacrypterCom.py @@ -29,6 +29,7 @@ class MegacrypterCom(MegaNz): self.logDebug("API Response: " + resp) return json_loads(resp) + def process(self, pyfile): # match is guaranteed because plugin was chosen to handle url node = re.match(self.__pattern__, pyfile.url).group(1) diff --git a/module/plugins/hoster/MultishareCz.py b/module/plugins/hoster/MultishareCz.py index 1ce16f30c..f7c8b47fd 100644 --- a/module/plugins/hoster/MultishareCz.py +++ b/module/plugins/hoster/MultishareCz.py @@ -38,9 +38,11 @@ class MultishareCz(SimpleHoster): else: self.handleOverriden() + def handleFree(self): self.download("http://www.multishare.cz/html/download_free.php?ID=%s" % self.fileID) + def handlePremium(self): if not self.checkCredit(): self.logWarning("Not enough credit left to download file") @@ -48,6 +50,7 @@ class MultishareCz(SimpleHoster): self.download("http://www.multishare.cz/html/download_premium.php?ID=%s" % self.fileID) + def handleOverriden(self): if not self.premium: self.fail("Only premium users can download from other hosters") @@ -63,6 +66,7 @@ class MultishareCz(SimpleHoster): self.logDebug(url, params) self.download(url, get=params) + def checkCredit(self): self.acc_info = self.account.getAccountInfo(self.user, True) self.logInfo("User %s has %i MB left" % (self.user, self.acc_info['trafficleft'] / 1024)) diff --git a/module/plugins/hoster/MyfastfileCom.py b/module/plugins/hoster/MyfastfileCom.py index 8fbae3e0a..d3a699e98 100644 --- a/module/plugins/hoster/MyfastfileCom.py +++ b/module/plugins/hoster/MyfastfileCom.py @@ -22,6 +22,7 @@ class MyfastfileCom(Hoster): self.chunkLimit = -1 self.resumeDownload = True + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): new_url = pyfile.url diff --git a/module/plugins/hoster/MyvideoDe.py b/module/plugins/hoster/MyvideoDe.py index 1f02b5b69..1f8c785a7 100644 --- a/module/plugins/hoster/MyvideoDe.py +++ b/module/plugins/hoster/MyvideoDe.py @@ -24,19 +24,23 @@ class MyvideoDe(Hoster): pyfile.name = self.get_file_name() self.download(self.get_file_url()) + def download_html(self): self.html = self.load(self.pyfile.url) + def get_file_url(self): videoId = re.search(r"addVariable\('_videoid','(.*)'\);p.addParam\('quality'", self.html).group(1) videoServer = re.search("rel='image_src' href='(.*)thumbs/.*' />", self.html).group(1) file_url = videoServer + videoId + ".flv" return file_url + def get_file_name(self): file_name_pattern = r'<h1 class=\'globalHd\'>(.*)</h1>' return unescape(re.search(file_name_pattern, self.html).group(1).replace("/", "") + '.flv') + def file_exists(self): self.download_html() self.load(str(self.pyfile.url), cookies=False, just_header=True) diff --git a/module/plugins/hoster/NetloadIn.py b/module/plugins/hoster/NetloadIn.py index 0c255afbe..800de3068 100644 --- a/module/plugins/hoster/NetloadIn.py +++ b/module/plugins/hoster/NetloadIn.py @@ -66,12 +66,14 @@ class NetloadIn(Hoster): def setup(self): self.multiDL = self.resumeDownload = self.premium + def process(self, pyfile): self.url = pyfile.url self.prepare() pyfile.setStatus("downloading") self.proceed(self.url) + def prepare(self): self.download_api_data() @@ -93,6 +95,7 @@ class NetloadIn(Hoster): self.fail("Failed") return False + def download_api_data(self, n=0): url = self.url id_regex = re.compile(self.__pattern__) @@ -134,6 +137,7 @@ class NetloadIn(Hoster): else: self.api_data = False + def final_wait(self, page): wait_time = self.get_wait_time(page) self.setWait(wait_time) @@ -141,6 +145,7 @@ class NetloadIn(Hoster): self.wait() self.url = self.get_file_url(page) + def download_html(self): self.logDebug("Netload: Entering download_html") page = self.load(self.url, decode=True) @@ -227,6 +232,7 @@ class NetloadIn(Hoster): return False + def get_file_url(self, page): try: file_url_pattern = r'<a class="Orange_Link" href="(http://.+)".?>Or click here' @@ -242,10 +248,12 @@ class NetloadIn(Hoster): self.logDebug("Netload: Getting final link failed") return None + def get_wait_time(self, page): wait_seconds = int(re.search(r"countdown\((.+),'change\(\)'\)", page).group(1)) / 100 return wait_seconds + def proceed(self, url): self.logDebug("Netload: Downloading..") diff --git a/module/plugins/hoster/NowDownloadEu.py b/module/plugins/hoster/NowDownloadEu.py index 57d31acd5..256b2c801 100644 --- a/module/plugins/hoster/NowDownloadEu.py +++ b/module/plugins/hoster/NowDownloadEu.py @@ -34,6 +34,7 @@ class NowDownloadEu(SimpleHoster): self.multiDL = self.resumeDownload = True self.chunkLimit = -1 + def handleFree(self): tokenlink = re.search(self.TOKEN_PATTERN, self.html) continuelink = re.search(self.CONTINUE_PATTERN, self.html) diff --git a/module/plugins/hoster/OverLoadMe.py b/module/plugins/hoster/OverLoadMe.py index 5c3a36318..1b50ae8a2 100644 --- a/module/plugins/hoster/OverLoadMe.py +++ b/module/plugins/hoster/OverLoadMe.py @@ -31,10 +31,12 @@ class OverLoadMe(Hoster): name += "%s.tmp" % randrange(100, 999) return name + def setup(self): self.chunkLimit = 5 self.resumeDownload = True + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): new_url = pyfile.url diff --git a/module/plugins/hoster/PornhostCom.py b/module/plugins/hoster/PornhostCom.py index 51426de71..6fb0fad83 100644 --- a/module/plugins/hoster/PornhostCom.py +++ b/module/plugins/hoster/PornhostCom.py @@ -25,11 +25,13 @@ class PornhostCom(Hoster): pyfile.name = self.get_file_name() self.download(self.get_file_url()) + # Old interface def download_html(self): url = self.pyfile.url self.html = self.load(url) + def get_file_url(self): """ returns the absolute downloadable filepath """ @@ -47,6 +49,7 @@ class PornhostCom(Hoster): return url.group(1).strip() + def get_file_name(self): if not self.html: self.download_html() @@ -63,6 +66,7 @@ class PornhostCom(Hoster): return name + def file_exists(self): """ returns True or False """ diff --git a/module/plugins/hoster/PornhubCom.py b/module/plugins/hoster/PornhubCom.py index 60b57d2c8..01204010d 100644 --- a/module/plugins/hoster/PornhubCom.py +++ b/module/plugins/hoster/PornhubCom.py @@ -25,10 +25,12 @@ class PornhubCom(Hoster): pyfile.name = self.get_file_name() self.download(self.get_file_url()) + def download_html(self): url = self.pyfile.url self.html = self.load(url) + def get_file_url(self): """ returns the absolute downloadable filepath """ @@ -57,6 +59,7 @@ class PornhubCom(Hoster): return re.search(r'flv_url.*(http.*?)##post_roll', content).group(1) + def get_file_name(self): if not self.html: self.download_html() @@ -73,6 +76,7 @@ class PornhubCom(Hoster): return name + '.flv' + def file_exists(self): """ returns True or False """ diff --git a/module/plugins/hoster/PremiumTo.py b/module/plugins/hoster/PremiumTo.py index ed96f315b..8595304c4 100644 --- a/module/plugins/hoster/PremiumTo.py +++ b/module/plugins/hoster/PremiumTo.py @@ -26,6 +26,7 @@ class PremiumTo(Hoster): self.resumeDownload = True self.chunkLimit = 1 + def process(self, pyfile): if not self.account: self.logError(_("Please enter your %s account or deactivate this plugin") % "premium.to") @@ -66,6 +67,7 @@ class PremiumTo(Hoster): if err: self.fail(err) + def getTraffic(self): try: api_r = self.load("http://premium.to/api/straffic.php", diff --git a/module/plugins/hoster/QuickshareCz.py b/module/plugins/hoster/QuickshareCz.py index 5946565c6..12de0fa5b 100644 --- a/module/plugins/hoster/QuickshareCz.py +++ b/module/plugins/hoster/QuickshareCz.py @@ -53,6 +53,7 @@ class QuickshareCz(SimpleHoster): if check == "err": self.fail("File not m or plugin defect") + def handleFree(self): # get download url download_url = '%s/download.php' % self.jsvars['server'] @@ -83,6 +84,7 @@ class QuickshareCz(SimpleHoster): # download file self.download(download_url) + def handlePremium(self): download_url = '%s/download_premium.php' % self.jsvars['server'] data = dict((x, self.jsvars[x]) for x in self.jsvars if x in ("ID1", "ID2", "ID4", "ID5")) diff --git a/module/plugins/hoster/RPNetBiz.py b/module/plugins/hoster/RPNetBiz.py index 3132001ed..0d032ef2f 100644 --- a/module/plugins/hoster/RPNetBiz.py +++ b/module/plugins/hoster/RPNetBiz.py @@ -22,6 +22,7 @@ class RPNetBiz(Hoster): self.chunkLimit = -1 self.resumeDownload = True + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): link_status = {'generated': pyfile.url} diff --git a/module/plugins/hoster/RapidshareCom.py b/module/plugins/hoster/RapidshareCom.py index befbbb123..2dd36b84e 100644 --- a/module/plugins/hoster/RapidshareCom.py +++ b/module/plugins/hoster/RapidshareCom.py @@ -70,10 +70,12 @@ class RapidshareCom(Hoster): self.chunkLimit = -1 if self.premium else 1 self.multiDL = self.resumeDownload = self.premium + def process(self, pyfile): self.url = pyfile.url self.prepare() + def prepare(self): m = re.match(self.__pattern__, self.url) @@ -106,6 +108,7 @@ class RapidshareCom(Hoster): else: self.fail("Unknown response code.") + def handleFree(self): while self.no_download: self.dl_dict = self.freeWait() @@ -128,12 +131,14 @@ class RapidshareCom(Hoster): self.offset += 5 self.handleFree() + def handlePremium(self): info = self.account.getAccountInfo(self.user, True) self.logDebug("%s: Use Premium Account" % self.__name__) url = self.api_data['mirror'] self.download(url, get={"directstart": 1}) + def download_api_data(self, force=False): """ http://images.rapidshare.com/apidoc.txt @@ -168,6 +173,7 @@ class RapidshareCom(Hoster): self.api_data['mirror'] = "http://rs%(serverid)s%(shorthost)s.rapidshare.com/files/%(fileid)s/%(filename)s" % self.api_data + def freeWait(self): """downloads html with the important information """ @@ -219,6 +225,7 @@ class RapidshareCom(Hoster): return dl_dict + def get_file_name(self): if self.api_data['filename']: return self.api_data['filename'] diff --git a/module/plugins/hoster/RealdebridCom.py b/module/plugins/hoster/RealdebridCom.py index fe6db98cb..cf1f825ef 100644 --- a/module/plugins/hoster/RealdebridCom.py +++ b/module/plugins/hoster/RealdebridCom.py @@ -32,10 +32,12 @@ class RealdebridCom(Hoster): name += "%s.tmp" % randrange(100, 999) return name + def setup(self): self.chunkLimit = 3 self.resumeDownload = True + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): new_url = pyfile.url diff --git a/module/plugins/hoster/RedtubeCom.py b/module/plugins/hoster/RedtubeCom.py index f8ac81693..d136d145b 100644 --- a/module/plugins/hoster/RedtubeCom.py +++ b/module/plugins/hoster/RedtubeCom.py @@ -26,10 +26,12 @@ class RedtubeCom(Hoster): pyfile.name = self.get_file_name() self.download(self.get_file_url()) + def download_html(self): url = self.pyfile.url self.html = self.load(url) + def get_file_url(self): """ returns the absolute downloadable filepath """ @@ -40,12 +42,14 @@ class RedtubeCom(Hoster): return file_url + def get_file_name(self): if not self.html: self.download_html() return re.search('<title>(.*?)- RedTube - Free Porn Videos', self.html).group(1).strip() + ".flv" + def file_exists(self): """ returns True or False """ diff --git a/module/plugins/hoster/RehostTo.py b/module/plugins/hoster/RehostTo.py index e1f719c19..80465724d 100644 --- a/module/plugins/hoster/RehostTo.py +++ b/module/plugins/hoster/RehostTo.py @@ -20,10 +20,12 @@ class RehostTo(Hoster): def getFilename(self, url): return unquote(url.rsplit("/", 1)[1]) + def setup(self): self.chunkLimit = 1 self.resumeDownload = True + def process(self, pyfile): if not self.account: self.logError(_("Please enter your %s account or deactivate this plugin") % "rehost.to") diff --git a/module/plugins/hoster/RemixshareCom.py b/module/plugins/hoster/RemixshareCom.py index 4e812b20d..94be78b4f 100644 --- a/module/plugins/hoster/RemixshareCom.py +++ b/module/plugins/hoster/RemixshareCom.py @@ -38,6 +38,7 @@ class RemixshareCom(SimpleHoster): self.multiDL = True self.chunkLimit = 1 + def handleFree(self): b = re.search(self.LINK_PATTERN, self.html) if not b: diff --git a/module/plugins/hoster/ShareplaceCom.py b/module/plugins/hoster/ShareplaceCom.py index 84be2706f..bef14de0f 100644 --- a/module/plugins/hoster/ShareplaceCom.py +++ b/module/plugins/hoster/ShareplaceCom.py @@ -24,6 +24,7 @@ class ShareplaceCom(Hoster): self.prepare() self.download(self.get_file_url()) + def prepare(self): if not self.file_exists(): self.offline() @@ -35,6 +36,7 @@ class ShareplaceCom(Hoster): self.logDebug("%s: Waiting %d seconds." % (self.__name__, wait_time)) self.wait() + def get_waiting_time(self): if not self.html: self.download_html() @@ -48,10 +50,12 @@ class ShareplaceCom(Hoster): return sec + def download_html(self): url = re.sub("shareplace.com\/\?", "shareplace.com//index1.php/?a=", self.pyfile.url) self.html = self.load(url, decode=True) + def get_file_url(self): """ returns the absolute downloadable filepath """ @@ -66,12 +70,14 @@ class ShareplaceCom(Hoster): else: self.fail("absolute filepath could not be found. offline? ") + def get_file_name(self): if not self.html: self.download_html() return re.search("\s*(.*?)\s*", self.html).group(1) + def file_exists(self): """ returns True or False """ diff --git a/module/plugins/hoster/SimplyPremiumCom.py b/module/plugins/hoster/SimplyPremiumCom.py index e78a1f469..965c1421a 100644 --- a/module/plugins/hoster/SimplyPremiumCom.py +++ b/module/plugins/hoster/SimplyPremiumCom.py @@ -24,6 +24,7 @@ class SimplyPremiumCom(Hoster): self.chunkLimit = 16 self.resumeDownload = False + def process(self, pyfile): if re.match(self.__pattern__, pyfile.url): new_url = pyfile.url diff --git a/module/plugins/hoster/SimplydebridCom.py b/module/plugins/hoster/SimplydebridCom.py index c7df990e3..dea82591d 100644 --- a/module/plugins/hoster/SimplydebridCom.py +++ b/module/plugins/hoster/SimplydebridCom.py @@ -21,6 +21,7 @@ class SimplydebridCom(Hoster): self.resumeDownload = self.multiDL = True self.chunkLimit = 1 + def process(self, pyfile): if not self.account: self.logError(_("Please enter your %s account or deactivate this plugin") % "simply-debrid.com") diff --git a/module/plugins/hoster/StreamCz.py b/module/plugins/hoster/StreamCz.py index 1459ca5f1..d4ebd7701 100644 --- a/module/plugins/hoster/StreamCz.py +++ b/module/plugins/hoster/StreamCz.py @@ -42,8 +42,8 @@ class StreamCz(Hoster): self.multiDL = True self.resumeDownload = True - def process(self, pyfile): + def process(self, pyfile): self.html = self.load(pyfile.url, decode=True) if re.search(self.OFFLINE_PATTERN, self.html): diff --git a/module/plugins/hoster/TwoSharedCom.py b/module/plugins/hoster/TwoSharedCom.py index 6b755219a..e1cdead9b 100644 --- a/module/plugins/hoster/TwoSharedCom.py +++ b/module/plugins/hoster/TwoSharedCom.py @@ -27,6 +27,7 @@ class TwoSharedCom(SimpleHoster): def setup(self): self.resumeDownload = self.multiDL = True + def handleFree(self): m = re.search(self.LINK_PATTERN, self.html) if m is None: diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py index 2d4762ba6..9b70c8efa 100644 --- a/module/plugins/hoster/UlozTo.py +++ b/module/plugins/hoster/UlozTo.py @@ -44,6 +44,7 @@ class UlozTo(SimpleHoster): self.multiDL = self.premium self.resumeDownload = True + def process(self, pyfile): pyfile.url = re.sub(r"(?<=http://)([^/]+)", "www.ulozto.net", pyfile.url) self.html = self.load(pyfile.url, decode=True, cookies=True) @@ -81,6 +82,7 @@ class UlozTo(SimpleHoster): self.doCheckDownload() + def handleFree(self): action, inputs = self.parseHtmlForm('id="frm-downloadDialog-freeDownloadForm"') if not action or not inputs: @@ -115,11 +117,13 @@ class UlozTo(SimpleHoster): self.multiDL = True self.download("http://www.ulozto.net" + action, post=inputs, cookies=True, disposition=True) + def handlePremium(self): self.download(self.pyfile.url + "?do=directDownload", disposition=True) #parsed_url = self.findDownloadURL(premium=True) #self.download(parsed_url, post={"download": "Download"}) + def findDownloadURL(self, premium=False): msg = "%s link" % ("Premium" if premium else "Free") m = re.search(self.PREMIUM_URL_PATTERN if premium else self.FREE_URL_PATTERN, self.html) @@ -129,6 +133,7 @@ class UlozTo(SimpleHoster): self.logDebug("%s: %s" % (msg, parsed_url)) return parsed_url + def doCheckDownload(self): check = self.checkDownload({ "wrong_captcha": re.compile(r'