diff options
Diffstat (limited to 'pyload/plugins/hoster')
32 files changed, 97 insertions, 164 deletions
| diff --git a/pyload/plugins/hoster/BitshareCom.py b/pyload/plugins/hoster/BitshareCom.py index 0a6318c77..9fd98643c 100644 --- a/pyload/plugins/hoster/BitshareCom.py +++ b/pyload/plugins/hoster/BitshareCom.py @@ -115,10 +115,12 @@ class BitshareCom(SimpleHoster):              # Try up to 3 times              for i in xrange(3): -                challenge, code = recaptcha.challenge() +                challenge, response = recaptcha.challenge()                  res = self.load("http://bitshare.com/files-ajax/" + self.file_id + "/request.html", -                                     post={"request": "validateCaptcha", "ajaxid": self.ajaxid, -                                           "recaptcha_challenge_field": challenge, "recaptcha_response_field": code}) +                                     post={"request"                  : "validateCaptcha", +                                           "ajaxid"                   : self.ajaxid, +                                           "recaptcha_challenge_field": challenge, +                                           "recaptcha_response_field" : response})                  if self.handleCaptchaErrors(res):                      break diff --git a/pyload/plugins/hoster/CatShareNet.py b/pyload/plugins/hoster/CatShareNet.py index 63a550bd4..146b639de 100644 --- a/pyload/plugins/hoster/CatShareNet.py +++ b/pyload/plugins/hoster/CatShareNet.py @@ -50,10 +50,10 @@ class CatShareNet(SimpleHoster):          recaptcha = ReCaptcha(self) -        challenge, code = recaptcha.challenge() +        challenge, response = recaptcha.challenge()          self.html = self.load(self.pyfile.url,                                post={'recaptcha_challenge_field': challenge, -                                    'recaptcha_response_field': code}) +                                    'recaptcha_response_field' : response})          m = re.search(self.LINK_PATTERN, self.html)          if m is None: diff --git a/pyload/plugins/hoster/DailymotionCom.py b/pyload/plugins/hoster/DailymotionCom.py index 9e665912a..201897719 100644 --- a/pyload/plugins/hoster/DailymotionCom.py +++ b/pyload/plugins/hoster/DailymotionCom.py @@ -40,7 +40,7 @@ def getInfo(urls):  class DailymotionCom(Hoster):      __name__    = "DailymotionCom"      __type__    = "hoster" -    __version__ = "0.2" +    __version__ = "0.20"      __pattern__ = r'https?://(?:www\.)?dailymotion\.com/.*video/(?P<ID>[\w^_]+)'      __config__  = [("quality", "Lowest;LD 144p;LD 240p;SD 384p;HQ 480p;HD 720p;HD 1080p;Highest", "Quality", "Highest")] diff --git a/pyload/plugins/hoster/DlFreeFr.py b/pyload/plugins/hoster/DlFreeFr.py index d9950f0a4..050fa0442 100644 --- a/pyload/plugins/hoster/DlFreeFr.py +++ b/pyload/plugins/hoster/DlFreeFr.py @@ -3,10 +3,11 @@  import pycurl  import re -from pyload.utils import json_loads  from pyload.network.Browser import Browser  from pyload.network.CookieJar import CookieJar +from pyload.plugins.internal.captcha import AdYouLike  from pyload.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo, replace_patterns +from pyload.utils import json_loads  class CustomBrowser(Browser): @@ -33,87 +34,10 @@ class CustomBrowser(Browser):          return Browser.load(self, *args, **kwargs) -class AdYouLike(object): -    """ -    Class to support adyoulike captcha service -    """ -    ADYOULIKE_INPUT_PATTERN = r'Adyoulike\.create\((.*?)\);' -    ADYOULIKE_CALLBACK = r'Adyoulike\.g\._jsonp_5579316662423138' -    ADYOULIKE_CHALLENGE_PATTERN = ADYOULIKE_CALLBACK + r'\((.*?)\)' - - -    def __init__(self, plugin, engine="adyoulike"): -        self.plugin = plugin -        self.engine = engine - - -    def challenge(self, html): -        adyoulike_data_string = None -        m = re.search(self.ADYOULIKE_INPUT_PATTERN, html) -        if m: -            adyoulike_data_string = m.group(1) -        else: -            self.plugin.fail("Can't read AdYouLike input data") - -        # {"adyoulike":{"key":"P~zQ~O0zV0WTiAzC-iw0navWQpCLoYEP"}, -        # "all":{"element_id":"ayl_private_cap_92300","lang":"fr","env":"prod"}} -        ayl_data = json_loads(adyoulike_data_string) - -        res = self.plugin.load("http://api-ayl.appspot.com/challenge", -                               get={'key'     : ayl_data[self.engine]['key'], -                                    'env'     : ayl_data['all']['env'], -                                    'callback': self.ADYOULIKE_CALLBACK}) - -        m = re.search(self.ADYOULIKE_CHALLENGE_PATTERN, res) -        challenge_string = None -        if m: -            challenge_string = m.group(1) -        else: -            self.plugin.fail("Invalid AdYouLike challenge") -        challenge_data = json_loads(challenge_string) - -        return ayl_data, challenge_data - - -    def result(self, ayl, challenge): -        """ -        Adyoulike.g._jsonp_5579316662423138 -        ({"translations":{"fr":{"instructions_visual":"Recopiez « Soonnight » ci-dessous :"}}, -        "site_under":true,"clickable":true,"pixels":{"VIDEO_050":[],"DISPLAY":[],"VIDEO_000":[],"VIDEO_100":[], -        "VIDEO_025":[],"VIDEO_075":[]},"medium_type":"image/adyoulike", -        "iframes":{"big":"<iframe src=\"http://www.soonnight.com/campagn.html\" scrolling=\"no\" -        height=\"250\" width=\"300\" frameborder=\"0\"></iframe>"},"shares":{},"id":256, -        "token":"e6QuI4aRSnbIZJg02IsV6cp4JQ9~MjA1","formats":{"small":{"y":300,"x":0,"w":300,"h":60}, -        "big":{"y":0,"x":0,"w":300,"h":250},"hover":{"y":440,"x":0,"w":300,"h":60}}, -        "tid":"SqwuAdxT1EZoi4B5q0T63LN2AkiCJBg5"}) -        """ -        response = None -        try: -            instructions_visual = challenge['translations'][ayl['all']['lang']]['instructions_visual'] -            m = re.search(u".*«(.*)».*", instructions_visual) -            if m: -                response = m.group(1).strip() -            else: -                self.plugin.fail("Can't parse instructions visual") -        except KeyError: -            self.plugin.fail("No instructions visual") - -        #TODO: Supports captcha - -        if not response: -            self.plugin.fail("AdYouLike result failed") - -        return {"_ayl_captcha_engine": self.engine, -                "_ayl_env": ayl['all']['env'], -                "_ayl_tid": challenge['tid'], -                "_ayl_token_challenge": challenge['token'], -                "_ayl_response": response} - -  class DlFreeFr(SimpleHoster):      __name__    = "DlFreeFr"      __type__    = "hoster" -    __version__ = "0.25" +    __version__ = "0.26"      __pattern__ = r'http://(?:www\.)?dl\.free\.fr/(\w+|getfile\.pl\?file=/\w+)' @@ -169,9 +93,7 @@ class DlFreeFr(SimpleHoster):          action, inputs = self.parseHtmlForm('action="getfile.pl"')          adyoulike = AdYouLike(self) -        ayl, challenge = adyoulike.challenge(self.html) -        result = adyoulike.result(ayl, challenge) -        inputs.update(result) +        inputs.update(adyoulike.challenge())          self.load("http://dl.free.fr/getfile.pl", post=inputs)          headers = self.getLastHeaders() diff --git a/pyload/plugins/hoster/FilecloudIo.py b/pyload/plugins/hoster/FilecloudIo.py index db1c0eee4..deca28007 100644 --- a/pyload/plugins/hoster/FilecloudIo.py +++ b/pyload/plugins/hoster/FilecloudIo.py @@ -58,9 +58,9 @@ class FilecloudIo(SimpleHoster):          if not self.account:              self.fail(_("User not logged in"))          elif not self.account.logged_in: -            captcha_challenge, captcha_response = recaptcha.challenge(captcha_key) -            self.account.form_data = {"recaptcha_challenge_field": captcha_challenge, -                                      "recaptcha_response_field": captcha_response} +            challenge, response = recaptcha.challenge(captcha_key) +            self.account.form_data = {"recaptcha_challenge_field": challenge, +                                      "recaptcha_response_field" : response}              self.account.relogin(self.user)              self.retry(2) diff --git a/pyload/plugins/hoster/FilepostCom.py b/pyload/plugins/hoster/FilepostCom.py index 2948f3bc6..e80ec56bc 100644 --- a/pyload/plugins/hoster/FilepostCom.py +++ b/pyload/plugins/hoster/FilepostCom.py @@ -92,36 +92,39 @@ class FilepostCom(SimpleHoster):      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) +        res = json_loads(self.load('https://filepost.com/files/get/', get=get_dict, post=post_dict)) -        if not 'js' in json_response: +        self.logDebug(res) + +        if not 'js' in res:              self.error(_("JSON %s 1") % field) -        # i changed js_answer to json_response['js'] since js_answer is nowhere set. +        # i changed js_answer to res['js'] since js_answer is nowhere set.          # i don't know the JSON-HTTP specs in detail, but the previous author -        # accessed json_response['js']['error'] as well as js_answer['error']. +        # accessed res['js']['error'] as well as js_answer['error'].          # see the two lines commented out with  "# ~?". -        if 'error' in json_response['js']: -            if json_response['js']['error'] == 'download_delay': -                self.retry(wait_time=json_response['js']['params']['next_download']) +        if 'error' in res['js']: + +            if res['js']['error'] == 'download_delay': +                self.retry(wait_time=res['js']['params']['next_download'])                  # ~? self.retry(wait_time=js_answer['params']['next_download']) -            elif 'Wrong file password' in json_response['js']['error']: -                return None -            elif 'You entered a wrong CAPTCHA code' in json_response['js']['error']: -                return None -            elif 'CAPTCHA Code nicht korrekt' in json_response['js']['error']: + +            elif ('Wrong file password' in res['js']['error'] +                  or 'You entered a wrong CAPTCHA code' in res['js']['error'] +                  or 'CAPTCHA Code nicht korrekt' in res['js']['error']):                  return None -            elif 'CAPTCHA' in json_response['js']['error']: + +            elif 'CAPTCHA' in res['js']['error']:                  self.logDebug("Error response is unknown, but mentions CAPTCHA")                  return None +              else: -                self.fail(json_response['js']['error']) +                self.fail(res['js']['error']) -        if not 'answer' in json_response['js'] or not field in json_response['js']['answer']: +        if not 'answer' in res['js'] or not field in res['js']['answer']:              self.error(_("JSON %s 2") % field) -        return json_response['js']['answer'][field] +        return res['js']['answer'][field]  getInfo = create_getInfo(FilepostCom) diff --git a/pyload/plugins/hoster/FileserveCom.py b/pyload/plugins/hoster/FileserveCom.py index 9be6e53ab..d98de9e6b 100644 --- a/pyload/plugins/hoster/FileserveCom.py +++ b/pyload/plugins/hoster/FileserveCom.py @@ -159,10 +159,10 @@ class FileserveCom(Hoster):          recaptcha = ReCaptcha(self)          for _i in xrange(5): -            challenge, code = recaptcha.challenge(captcha_key) +            challenge, response = recaptcha.challenge(captcha_key)              res = json_loads(self.load(self.URLS[2], -                                       post={'recaptcha_challenge_field': challenge, -                                             'recaptcha_response_field': code, +                                       post={'recaptcha_challenge_field'  : challenge, +                                             'recaptcha_response_field'   : response,                                               'recaptcha_shortencode_field': self.file_id}))              if not res['success']:                  self.invalidCaptcha() diff --git a/pyload/plugins/hoster/FilezyNet.py b/pyload/plugins/hoster/FilezyNet.py index 2296cf856..f36ecd51e 100644 --- a/pyload/plugins/hoster/FilezyNet.py +++ b/pyload/plugins/hoster/FilezyNet.py @@ -6,7 +6,7 @@ from pyload.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class FilezyNet(DeadHoster):      __name__    = "FilezyNet"      __type__    = "hoster" -    __version__ = "0.2" +    __version__ = "0.20"      __pattern__ = r'http://(?:www\.)?filezy\.net/\w{12}' diff --git a/pyload/plugins/hoster/FlyFilesNet.py b/pyload/plugins/hoster/FlyFilesNet.py index 05e37e95a..6a9a3d63f 100644 --- a/pyload/plugins/hoster/FlyFilesNet.py +++ b/pyload/plugins/hoster/FlyFilesNet.py @@ -11,7 +11,7 @@ from pyload.plugins.internal.SimpleHoster import SimpleHoster  class FlyFilesNet(SimpleHoster):      __name__    = "FlyFilesNet"      __type__    = "hoster" -    __version__ = "0.1" +    __version__ = "0.10"      __pattern__ = r'http://(?:www\.)?flyfiles\.net/.*' diff --git a/pyload/plugins/hoster/FreevideoCz.py b/pyload/plugins/hoster/FreevideoCz.py index 7cc0a6ef7..ad6d4c336 100644 --- a/pyload/plugins/hoster/FreevideoCz.py +++ b/pyload/plugins/hoster/FreevideoCz.py @@ -6,7 +6,7 @@ from pyload.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class FreevideoCz(DeadHoster):      __name__    = "FreevideoCz"      __type__    = "hoster" -    __version__ = "0.3" +    __version__ = "0.30"      __pattern__ = r'http://(?:www\.)?freevideo\.cz/vase-videa/.+' diff --git a/pyload/plugins/hoster/IfileIt.py b/pyload/plugins/hoster/IfileIt.py index b96734159..884bf8582 100644 --- a/pyload/plugins/hoster/IfileIt.py +++ b/pyload/plugins/hoster/IfileIt.py @@ -27,27 +27,30 @@ class IfileIt(SimpleHoster):      def handleFree(self): -        ukey = re.match(self.__pattern__, self.pyfile.url).group(1) -        json_url = 'http://ifile.it/new_download-request.json' +        ukey      = re.match(self.__pattern__, self.pyfile.url).group(1) +        json_url  = 'http://ifile.it/new_download-request.json'          post_data = {"ukey": ukey, "ab": "0"} +        res       = json_loads(self.load(json_url, post=post_data)) -        json_response = json_loads(self.load(json_url, post=post_data)) -        self.logDebug(json_response) -        if json_response['status'] == 3: +        self.logDebug(res) + +        if res['status'] == 3:              self.offline() -        if json_response['captcha']: +        if res['captcha']:              captcha_key = re.search(self.RECAPTCHA_PATTERN, self.html).group(1)              recaptcha = ReCaptcha(self)              post_data['ctype'] = "recaptcha"              for _i in xrange(5): -                post_data['recaptcha_challenge'], post_data['recaptcha_response'] = recaptcha.challenge(captcha_key) -                json_response = json_loads(self.load(json_url, post=post_data)) -                self.logDebug(json_response) +                challenge, response = recaptcha.challenge(captcha_key) +                post_data.update({'recaptcha_challenge': challenge, +                                  'recaptcha_response' : response}) +                res = json_loads(self.load(json_url, post=post_data)) +                self.logDebug(res) -                if json_response['retry']: +                if res['retry']:                      self.invalidCaptcha()                  else:                      self.correctCaptcha() @@ -55,10 +58,10 @@ class IfileIt(SimpleHoster):              else:                  self.fail(_("Incorrect captcha")) -        if not "ticket_url" in json_response: +        if not "ticket_url" in res:              self.error(_("No download URL")) -        self.download(json_response['ticket_url']) +        self.download(res['ticket_url'])  getInfo = create_getInfo(IfileIt) diff --git a/pyload/plugins/hoster/LoadTo.py b/pyload/plugins/hoster/LoadTo.py index af6c8b48e..adf951ed9 100644 --- a/pyload/plugins/hoster/LoadTo.py +++ b/pyload/plugins/hoster/LoadTo.py @@ -58,9 +58,12 @@ class LoadTo(SimpleHoster):          if captcha_key is None:              self.download(download_url)          else: -            captcha_challenge, captcha_response = solvemedia.challenge(captcha_key) -            self.download(download_url, post={"adcopy_challenge": captcha_challenge, "adcopy_response": captcha_response}) +            challenge, response = solvemedia.challenge(captcha_key) + +            self.download(download_url, post={"adcopy_challenge": challenge, "adcopy_response": response}) +              check = self.checkDownload({'404': re.compile("\A<h1>404 Not Found</h1>"), 'html': re.compile("html")}) +              if check == "404":                  self.invalidCaptcha()                  self.retry() diff --git a/pyload/plugins/hoster/MediafireCom.py b/pyload/plugins/hoster/MediafireCom.py index 00e1e83cd..c9ab49643 100644 --- a/pyload/plugins/hoster/MediafireCom.py +++ b/pyload/plugins/hoster/MediafireCom.py @@ -117,6 +117,8 @@ class MediafireCom(SimpleHoster):      def checkCaptcha(self):          solvemedia = SolveMedia(self) -        captcha_challenge, captcha_response = solvemedia.challenge() -        self.html = self.load(self.url, post={"adcopy_challenge": captcha_challenge, -                                              "adcopy_response": captcha_response}, decode=True) +        challenge, response = solvemedia.challenge() +        self.html = self.load(self.url, +                              post={'adcopy_challenge': challenge, +                                    'adcopy_response' : response}, +                              decode=True) diff --git a/pyload/plugins/hoster/MegaDebridEu.py b/pyload/plugins/hoster/MegaDebridEu.py index 1354c0e3d..66b12b164 100644 --- a/pyload/plugins/hoster/MegaDebridEu.py +++ b/pyload/plugins/hoster/MegaDebridEu.py @@ -11,7 +11,7 @@ from pyload.plugins.internal.Hoster import Hoster  class MegaDebridEu(Hoster):      __name__    = "MegaDebridEu"      __type__    = "hoster" -    __version__ = "0.4" +    __version__ = "0.40"      __pattern__ = r'^https?://(?:w{3}\d+\.mega-debrid\.eu|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/download/file/[^/]+/.+$' diff --git a/pyload/plugins/hoster/MyvideoDe.py b/pyload/plugins/hoster/MyvideoDe.py index 8fbd3a772..e23856f0b 100644 --- a/pyload/plugins/hoster/MyvideoDe.py +++ b/pyload/plugins/hoster/MyvideoDe.py @@ -9,7 +9,7 @@ from pyload.utils import html_unescape  class MyvideoDe(Hoster):      __name__    = "MyvideoDe"      __type__    = "hoster" -    __version__ = "0.9" +    __version__ = "0.90"      __pattern__ = r'http://(?:www\.)?myvideo\.de/watch/' diff --git a/pyload/plugins/hoster/OboomCom.py b/pyload/plugins/hoster/OboomCom.py index 0e907ab7a..2f50f5f87 100644 --- a/pyload/plugins/hoster/OboomCom.py +++ b/pyload/plugins/hoster/OboomCom.py @@ -13,7 +13,7 @@ from pyload.plugins.internal.captcha import ReCaptcha  class OboomCom(Hoster):      __name__    = "OboomCom"      __type__    = "hoster" -    __version__ = "0.3" +    __version__ = "0.30"      __pattern__ = r'https?://(?:www\.)?oboom\.com/(#(id=|/)?)?(?P<ID>\w{8})' diff --git a/pyload/plugins/hoster/PornhostCom.py b/pyload/plugins/hoster/PornhostCom.py index 7fd337485..3f1650bf0 100644 --- a/pyload/plugins/hoster/PornhostCom.py +++ b/pyload/plugins/hoster/PornhostCom.py @@ -8,7 +8,7 @@ from pyload.plugins.internal.Hoster import Hoster  class PornhostCom(Hoster):      __name__    = "PornhostCom"      __type__    = "hoster" -    __version__ = "0.2" +    __version__ = "0.20"      __pattern__ = r'http://(?:www\.)?pornhost\.com/(\d+/\d+\.html|\d+)' diff --git a/pyload/plugins/hoster/PornhubCom.py b/pyload/plugins/hoster/PornhubCom.py index d89d24029..7cbcabf16 100644 --- a/pyload/plugins/hoster/PornhubCom.py +++ b/pyload/plugins/hoster/PornhubCom.py @@ -8,7 +8,7 @@ from pyload.plugins.internal.Hoster import Hoster  class PornhubCom(Hoster):      __name__    = "PornhubCom"      __type__    = "hoster" -    __version__ = "0.5" +    __version__ = "0.50"      __pattern__ = r'http://(?:www\.)?pornhub\.com/view_video\.php\?viewkey=\w+' diff --git a/pyload/plugins/hoster/RPNetBiz.py b/pyload/plugins/hoster/RPNetBiz.py index b2a89f48a..9b2ff8d8c 100644 --- a/pyload/plugins/hoster/RPNetBiz.py +++ b/pyload/plugins/hoster/RPNetBiz.py @@ -9,7 +9,7 @@ from pyload.utils import json_loads  class RPNetBiz(Hoster):      __name__    = "RPNetBiz"      __type__    = "hoster" -    __version__ = "0.1" +    __version__ = "0.10"      __description__ = """RPNet.biz hoster plugin"""      __license__     = "GPLv3" diff --git a/pyload/plugins/hoster/RapidgatorNet.py b/pyload/plugins/hoster/RapidgatorNet.py index 61efbcf20..7ba629c4d 100644 --- a/pyload/plugins/hoster/RapidgatorNet.py +++ b/pyload/plugins/hoster/RapidgatorNet.py @@ -129,13 +129,11 @@ class RapidgatorNet(SimpleHoster):                  break              else:                  captcha, captcha_key = self.getCaptcha() -                captcha_challenge, captcha_response = captcha.challenge(captcha_key) +                challenge, response  = captcha.challenge(captcha_key) -                self.html = self.load(url, post={ -                    "DownloadCaptchaForm[captcha]": "", -                    "adcopy_challenge": captcha_challenge, -                    "adcopy_response": captcha_response -                }) +                self.html = self.load(url, post={'DownloadCaptchaForm[captcha]': "", +                                                 'adcopy_challenge'            : challenge, +                                                 'adcopy_response'             : response})                  if "The verification code is incorrect" in self.html:                      self.invalidCaptcha() diff --git a/pyload/plugins/hoster/RapiduNet.py b/pyload/plugins/hoster/RapiduNet.py index 18e95804d..3b66d3c3f 100644 --- a/pyload/plugins/hoster/RapiduNet.py +++ b/pyload/plugins/hoster/RapiduNet.py @@ -57,12 +57,12 @@ class RapiduNet(SimpleHoster):          recaptcha = ReCaptcha(self)          for _i in xrange(10): -            challenge, code = recaptcha.challenge(self.RECAPTCHA_KEY) +            challenge, response = recaptcha.challenge(self.RECAPTCHA_KEY)              jsvars = self.getJsonResponse("https://rapidu.net/ajax.php?a=getCheckCaptcha",                                            {'_go'     : None,                                             'captcha1': challenge, -                                           'captcha2': code, +                                           'captcha2': response,                                             'fileId'  : self.info['ID']})              if jsvars['message'] == 'success':                  self.download(jsvars['url']) @@ -70,13 +70,13 @@ class RapiduNet(SimpleHoster):      def getJsonResponse(self, url, post_data): -        response = self.load(url, post=post_data, decode=True) -        if not response.startswith('{'): +        res = self.load(url, post=post_data, decode=True) +        if not res.startswith('{'):              self.retry() -        self.logDebug(url, response) +        self.logDebug(url, res) -        return json_loads(response) +        return json_loads(res)  getInfo = create_getInfo(RapiduNet) diff --git a/pyload/plugins/hoster/RedtubeCom.py b/pyload/plugins/hoster/RedtubeCom.py index b1272f68d..ed143d987 100644 --- a/pyload/plugins/hoster/RedtubeCom.py +++ b/pyload/plugins/hoster/RedtubeCom.py @@ -9,7 +9,7 @@ from pyload.utils import html_unescape  class RedtubeCom(Hoster):      __name__    = "RedtubeCom"      __type__    = "hoster" -    __version__ = "0.2" +    __version__ = "0.20"      __pattern__ = r'http://(?:www\.)?redtube\.com/\d+' diff --git a/pyload/plugins/hoster/SimplydebridCom.py b/pyload/plugins/hoster/SimplydebridCom.py index c68c6bdd0..f9063d737 100644 --- a/pyload/plugins/hoster/SimplydebridCom.py +++ b/pyload/plugins/hoster/SimplydebridCom.py @@ -8,7 +8,7 @@ from pyload.plugins.internal.Hoster import Hoster  class SimplydebridCom(Hoster):      __name__    = "SimplydebridCom"      __type__    = "hoster" -    __version__ = "0.1" +    __version__ = "0.10"      __pattern__ = r'http://(?:www\.)?\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/sd\.php/*' diff --git a/pyload/plugins/hoster/SoundcloudCom.py b/pyload/plugins/hoster/SoundcloudCom.py index 284f6ffbf..cc6ef83f3 100644 --- a/pyload/plugins/hoster/SoundcloudCom.py +++ b/pyload/plugins/hoster/SoundcloudCom.py @@ -9,7 +9,7 @@ from pyload.plugins.internal.Hoster import Hoster  class SoundcloudCom(Hoster):      __name__    = "SoundcloudCom"      __type__    = "hoster" -    __version__ = "0.1" +    __version__ = "0.10"      __pattern__ = r'https?://(?:www\.)?soundcloud\.com/(?P<UID>.*?)/(?P<SID>.*)' diff --git a/pyload/plugins/hoster/StreamCz.py b/pyload/plugins/hoster/StreamCz.py index fcd69ead5..e999e4c25 100644 --- a/pyload/plugins/hoster/StreamCz.py +++ b/pyload/plugins/hoster/StreamCz.py @@ -23,7 +23,7 @@ def getInfo(urls):  class StreamCz(Hoster):      __name__    = "StreamCz"      __type__    = "hoster" -    __version__ = "0.2" +    __version__ = "0.20"      __pattern__ = r'https?://(?:www\.)?stream\.cz/[^/]+/\d+.*' diff --git a/pyload/plugins/hoster/UploadableCh.py b/pyload/plugins/hoster/UploadableCh.py index 0db7196bc..0fafcb6e8 100644 --- a/pyload/plugins/hoster/UploadableCh.py +++ b/pyload/plugins/hoster/UploadableCh.py @@ -53,13 +53,13 @@ class UploadableCh(SimpleHoster):          recaptcha = ReCaptcha(self) -        challenge, captcha = recaptcha.challenge(self.RECAPTCHA_KEY) +        challenge, response = recaptcha.challenge(self.RECAPTCHA_KEY)          # Submit the captcha solution          self.load("http://www.uploadable.ch/checkReCaptcha.php",                    cookies=True,                    post={'recaptcha_challenge_field'  : challenge, -                        'recaptcha_response_field'   : captcha, +                        'recaptcha_response_field'   : response,                          'recaptcha_shortencode_field': self.info['ID']},                    decode=True) diff --git a/pyload/plugins/hoster/UploadedTo.py b/pyload/plugins/hoster/UploadedTo.py index 016f2c9cf..e8dea32c2 100644 --- a/pyload/plugins/hoster/UploadedTo.py +++ b/pyload/plugins/hoster/UploadedTo.py @@ -206,8 +206,8 @@ class UploadedTo(Hoster):          recaptcha = ReCaptcha(self)          for _i in xrange(5): -            challenge, result = recaptcha.challenge() -            options = {"recaptcha_challenge_field": challenge, "recaptcha_response_field": result} +            challenge, response = recaptcha.challenge() +            options = {"recaptcha_challenge_field": challenge, "recaptcha_response_field": response}              self.wait()              result = self.load(url, post=options) diff --git a/pyload/plugins/hoster/UpstoreNet.py b/pyload/plugins/hoster/UpstoreNet.py index bd4241532..f7083f820 100644 --- a/pyload/plugins/hoster/UpstoreNet.py +++ b/pyload/plugins/hoster/UpstoreNet.py @@ -52,9 +52,9 @@ class UpstoreNet(SimpleHoster):              self.wait(wait_time)              # then, handle the captcha -            challenge, code = recaptcha.challenge() -            post_data['recaptcha_challenge_field'] = challenge -            post_data['recaptcha_response_field'] = code +            challenge, response = recaptcha.challenge() +            post_data.update({'recaptcha_challenge_field': challenge, +                              'recaptcha_response_field' : response})              self.html = self.load(self.pyfile.url, post=post_data, decode=True) diff --git a/pyload/plugins/hoster/Vipleech4uCom.py b/pyload/plugins/hoster/Vipleech4uCom.py index c5a444433..c3627b914 100644 --- a/pyload/plugins/hoster/Vipleech4uCom.py +++ b/pyload/plugins/hoster/Vipleech4uCom.py @@ -6,7 +6,7 @@ from pyload.plugins.internal.DeadHoster import DeadHoster, create_getInfo  class Vipleech4uCom(DeadHoster):      __name__    = "Vipleech4uCom"      __type__    = "hoster" -    __version__ = "0.2" +    __version__ = "0.20"      __pattern__ = r'http://(?:www\.)?vipleech4u\.com/manager\.php' diff --git a/pyload/plugins/hoster/XVideosCom.py b/pyload/plugins/hoster/XVideosCom.py index 9ab9e4484..530858bbf 100644 --- a/pyload/plugins/hoster/XVideosCom.py +++ b/pyload/plugins/hoster/XVideosCom.py @@ -10,7 +10,7 @@ from pyload.plugins.internal.Hoster import Hoster  class XVideosCom(Hoster):      __name__    = "XVideos.com"      __type__    = "hoster" -    __version__ = "0.1" +    __version__ = "0.10"      __pattern__ = r'http://(?:www\.)?xvideos\.com/video(\d+)/.*' diff --git a/pyload/plugins/hoster/YoupornCom.py b/pyload/plugins/hoster/YoupornCom.py index 6063e6816..b214d820c 100644 --- a/pyload/plugins/hoster/YoupornCom.py +++ b/pyload/plugins/hoster/YoupornCom.py @@ -8,7 +8,7 @@ from pyload.plugins.internal.Hoster import Hoster  class YoupornCom(Hoster):      __name__    = "YoupornCom"      __type__    = "hoster" -    __version__ = "0.2" +    __version__ = "0.20"      __pattern__ = r'http://(?:www\.)?youporn\.com/watch/.+' diff --git a/pyload/plugins/hoster/ZDF.py b/pyload/plugins/hoster/ZDF.py index 53939ae6c..9917955ec 100644 --- a/pyload/plugins/hoster/ZDF.py +++ b/pyload/plugins/hoster/ZDF.py @@ -11,7 +11,7 @@ from pyload.plugins.internal.Hoster import Hoster  class ZDF(Hoster):      __name__    = "ZDF Mediathek"      __type__    = "hoster" -    __version__ = "0.8" +    __version__ = "0.80"      __pattern__ = r'http://(?:www\.)?zdf\.de/ZDFmediathek/\D*(\d+)\D*' | 
