diff options
Diffstat (limited to 'module/plugins')
| -rw-r--r-- | module/plugins/hoster/Keep2ShareCc.py | 20 | 
1 files changed, 16 insertions, 4 deletions
| diff --git a/module/plugins/hoster/Keep2ShareCc.py b/module/plugins/hoster/Keep2ShareCc.py index c927ea11c..1dba9713a 100644 --- a/module/plugins/hoster/Keep2ShareCc.py +++ b/module/plugins/hoster/Keep2ShareCc.py @@ -11,7 +11,7 @@ class Keep2ShareCc(SimpleHoster):      __name__    = "Keep2ShareCc"      __type__    = "hoster"      __version__ = "0.28" -    __status__  = "broken" +    __status__  = "testing"      __pattern__ = r'https?://(?:www\.)?(keep2share|k2s|keep2s)\.cc/file/(?P<ID>\w+)'      __config__  = [("activated"   , "bool", "Activated"                                        , True), @@ -34,8 +34,9 @@ class Keep2ShareCc(SimpleHoster):      OFFLINE_PATTERN      = r'File not found or deleted|Sorry, this file is blocked or deleted|Error 404'      TEMP_OFFLINE_PATTERN = r'Downloading blocked due to' -    LINK_FREE_PATTERN    = r'"(.+?url.html\?file=.+?)"|window\.location\.href = \'(.+?)\';' +    LINK_FREE_PATTERN    = r'"([^"]+?url.html\?file=.+?)"|window\.location\.href = \'(.+?)\';'      LINK_PREMIUM_PATTERN = r'window\.location\.href = \'(.+?)\';' +    UNIQUE_ID_PATTERN    = r"data: {uniqueId: '(?P<uID>\w+)', free: 1}"      CAPTCHA_PATTERN = r'src="(/file/captcha\.html.+?)"' @@ -68,6 +69,7 @@ class Keep2ShareCc(SimpleHoster):              self.retry(wait=wait_time, msg="Please wait to download this file")          self.info.pop('error', None) +        # super(Keep2ShareCc, self).check_errors()      def handle_free(self, pyfile): @@ -83,13 +85,22 @@ class Keep2ShareCc(SimpleHoster):          if m is None:              self.handle_captcha()              self.wait(31) -            self.data = self.load(pyfile.url) +            # get the uniqueId from the html code +            m = re.search(self.UNIQUE_ID_PATTERN, self.data) +            if m is None: +                self.error(_("Unique-ID pattern not found")) +            self.data = self.load(pyfile.url, post={'uniqueId': m.group('uID'), 'free': '1'})              m = re.search(self.LINK_FREE_PATTERN, self.data)              if m is None:                  self.error(_("Free download link not found")) -        self.link = m.group(1) +        # if group 1 did not match, check group 2 +        if m.group(1) is not None: +            self.link = m.group(1) +        else: +            self.link = m.group(2) +        self.log_debug("download link: %s" % self.link)      def handle_captcha(self): @@ -121,3 +132,4 @@ class Keep2ShareCc(SimpleHoster):  getInfo = create_getInfo(Keep2ShareCc) + | 
