diff options
Diffstat (limited to 'module/plugins/hoster')
| -rw-r--r-- | module/plugins/hoster/BasePlugin.py | 13 | ||||
| -rw-r--r-- | module/plugins/hoster/CzshareCom.py | 2 | ||||
| -rw-r--r-- | module/plugins/hoster/FileboomMe.py | 11 | ||||
| -rw-r--r-- | module/plugins/hoster/FilefactoryCom.py | 1 | ||||
| -rw-r--r-- | module/plugins/hoster/FilerNet.py | 1 | ||||
| -rw-r--r-- | module/plugins/hoster/FilesMailRu.py | 1 | ||||
| -rw-r--r-- | module/plugins/hoster/FileserveCom.py | 1 | ||||
| -rw-r--r-- | module/plugins/hoster/FourSharedCom.py | 1 | ||||
| -rw-r--r-- | module/plugins/hoster/Ftp.py | 7 | ||||
| -rw-r--r-- | module/plugins/hoster/GoogledriveCom.py | 6 | ||||
| -rw-r--r-- | module/plugins/hoster/HellshareCz.py | 2 | ||||
| -rw-r--r-- | module/plugins/hoster/NowDownloadSx.py | 2 | ||||
| -rw-r--r-- | module/plugins/hoster/ShareonlineBiz.py | 2 | ||||
| -rw-r--r-- | module/plugins/hoster/SpeedyshareCom.py | 1 | ||||
| -rw-r--r-- | module/plugins/hoster/UploadedTo.py | 1 | ||||
| -rw-r--r-- | module/plugins/hoster/YibaishiwuCom.py | 3 | ||||
| -rw-r--r-- | module/plugins/hoster/ZeveraCom.py | 1 | 
17 files changed, 24 insertions, 32 deletions
| diff --git a/module/plugins/hoster/BasePlugin.py b/module/plugins/hoster/BasePlugin.py index 2e9ae4e48..d64834a7c 100644 --- a/module/plugins/hoster/BasePlugin.py +++ b/module/plugins/hoster/BasePlugin.py @@ -23,18 +23,6 @@ class BasePlugin(Hoster):                         ("Walter Purcaro", "vuolter@gmail.com")] -    @classmethod -    def get_info(cls, url="", html=""):  #@TODO: Move to hoster class in 0.4.10 -        url   = urllib.unquote(url) -        url_p = urlparse.urlparse(url) -        return {'name'  : (url_p.path.split('/')[-1] -                           or url_p.query.split('=', 1)[::-1][0].split('&', 1)[0] -                           or url_p.netloc.split('.', 1)[0]), -                'size'  : 0, -                'status': 3 if url else 8, -                'url'   : url} - -      def setup(self):          self.chunk_limit     = -1          self.multiDL        = True @@ -95,6 +83,7 @@ class BasePlugin(Hoster):          try:              errmsg += " | " + self.last_check.group(1).strip() +          except Exception:              pass diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index 3d2de5f7f..6afd9fa2d 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -58,6 +58,7 @@ class CzshareCom(SimpleHoster):              if credit < self.pyfile.size:                  self.log_info(_("Not enough credit to download file: %s") % self.pyfile.name)                  return False +          except Exception, e:              #: let's continue and see what happens...              self.log_error(e) @@ -70,6 +71,7 @@ class CzshareCom(SimpleHoster):          try:              form = re.search(self.PREMIUM_FORM_PATTERN, self.html, re.S).group(1)              inputs = dict(re.findall(self.FORM_INPUT_PATTERN, form)) +          except Exception, e:              self.log_error(e)              self.restart(nopremium=True) diff --git a/module/plugins/hoster/FileboomMe.py b/module/plugins/hoster/FileboomMe.py index 3c11f1d16..4328565f4 100644 --- a/module/plugins/hoster/FileboomMe.py +++ b/module/plugins/hoster/FileboomMe.py @@ -1,8 +1,7 @@  # -*- coding: utf-8 -*-  import re - -from urlparse import urljoin +import urlparse  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo @@ -37,7 +36,7 @@ class FileboomMe(SimpleHoster):      def handle_free(self, pyfile): -        post_url = urljoin(pyfile.url, "file/" + self.info['pattern']['ID']) +        post_url = urlparse.urljoin(pyfile.url, "file/" + self.info['pattern']['ID'])          m = re.search(r'data-slow-id="(\w+)"', self.html)          if m: @@ -46,7 +45,7 @@ class FileboomMe(SimpleHoster):              m = re.search(self.LINK_PATTERN, self.html)              if m: -                self.link = urljoin(pyfile.url, m.group(0)) +                self.link = urlparse.urljoin(pyfile.url, m.group(0))              else:                  for _i in xrange(5): @@ -56,7 +55,7 @@ class FileboomMe(SimpleHoster):                          m = re.search(self.CAPTCHA_PATTERN, self.html)                          if m: -                            captcha = self.captcha.decrypt(urljoin(pyfile.url, m.group(1))) +                            captcha = self.captcha.decrypt(urlparse.urljoin(pyfile.url, m.group(1)))                              self.html = self.load(post_url,                                                    post={'CaptchaForm[code]'  : captcha, @@ -76,7 +75,7 @@ class FileboomMe(SimpleHoster):                                  m = re.search(self.LINK_PATTERN, self.html)                                  if m: -                                    self.link = urljoin(pyfile.url, m.group(0)) +                                    self.link = urlparse.urljoin(pyfile.url, m.group(0))                                  else:                                      self.captcha.invalid() diff --git a/module/plugins/hoster/FilefactoryCom.py b/module/plugins/hoster/FilefactoryCom.py index aa8ea2343..b13a7c793 100644 --- a/module/plugins/hoster/FilefactoryCom.py +++ b/module/plugins/hoster/FilefactoryCom.py @@ -1,7 +1,6 @@  # -*- coding: utf-8 -*-  import re -import urlparse  from module.network.RequestFactory import getURL as get_url  from module.plugins.internal.SimpleHoster import SimpleHoster, parse_fileInfo diff --git a/module/plugins/hoster/FilerNet.py b/module/plugins/hoster/FilerNet.py index f8c41f4d1..af755e0a6 100644 --- a/module/plugins/hoster/FilerNet.py +++ b/module/plugins/hoster/FilerNet.py @@ -6,7 +6,6 @@  import pycurl  import re -import urlparse  from module.plugins.captcha.ReCaptcha import ReCaptcha  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo diff --git a/module/plugins/hoster/FilesMailRu.py b/module/plugins/hoster/FilesMailRu.py index a6dd56152..a1c30be7b 100644 --- a/module/plugins/hoster/FilesMailRu.py +++ b/module/plugins/hoster/FilesMailRu.py @@ -21,6 +21,7 @@ def get_info(urls):                      url_pattern = '<a href="(.+?)" onclick="return Act\(this\, \'dlink\'\, event\)">(.+?)</a>'                      file_name = re.search(url_pattern, html).group(0).split(', event)">')[1].split('</a>')[0]                      result.append((file_name, 0, 2, url)) +                  except Exception:                      pass diff --git a/module/plugins/hoster/FileserveCom.py b/module/plugins/hoster/FileserveCom.py index 12f5bf2c3..c35fab3fc 100644 --- a/module/plugins/hoster/FileserveCom.py +++ b/module/plugins/hoster/FileserveCom.py @@ -24,6 +24,7 @@ def check_file(plugin, urls):                      parse_size(cols[2]) if cols[2] != '--' else 0,                      2 if cols[3].startswith('Available') else 1,                      cols[0])) +          except Exception, e:              continue diff --git a/module/plugins/hoster/FourSharedCom.py b/module/plugins/hoster/FourSharedCom.py index e5b309dc1..212eadb3b 100644 --- a/module/plugins/hoster/FourSharedCom.py +++ b/module/plugins/hoster/FourSharedCom.py @@ -55,6 +55,7 @@ class FourSharedCom(SimpleHoster):              m = re.search(self.ID_PATTERN, self.html)              res = self.load('http://www.4shared.com/web/d2/getFreeDownloadLimitInfo?fileId=%s' % m.group(1))              self.log_debug(res) +          except Exception:              pass diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py index 25eb44604..c9f5fa6b6 100644 --- a/module/plugins/hoster/Ftp.py +++ b/module/plugins/hoster/Ftp.py @@ -35,6 +35,7 @@ class Ftp(Hoster):          pyfile.name = parsed_url.path.rpartition('/')[2]          try:              pyfile.name = urllib.unquote(str(pyfile.name)).decode('utf8') +          except Exception:              pass @@ -63,16 +64,22 @@ class Ftp(Hoster):          if m:              pyfile.size = int(m.group(1))              self.download(pyfile.url) +          else:              #: Naive ftp directory listing              if re.search(r'^25\d.*?"', self.req.http.header, re.M):                  pyfile.url = pyfile.url.rstrip('/')                  pkgname = "/".join([pyfile.package().name, urlparse.urlparse(pyfile.url).path.rpartition('/')[2]]) +                  pyfile.url += '/' +                  self.req.http.c.setopt(48, 1)  #: CURLOPT_DIRLISTONLY                  res = self.load(pyfile.url, decode=False) +                  links = [pyfile.url + x for x in res.splitlines()]                  self.log_debug("LINKS", links) +                  self.pyload.api.addPackage(pkgname, links) +              else:                  self.fail(_("Unexpected server response")) diff --git a/module/plugins/hoster/GoogledriveCom.py b/module/plugins/hoster/GoogledriveCom.py index 903b5361e..381bd24dc 100644 --- a/module/plugins/hoster/GoogledriveCom.py +++ b/module/plugins/hoster/GoogledriveCom.py @@ -44,11 +44,9 @@ class GoogledriveCom(SimpleHoster):                  self.error(_("Free download link not found"))              else: -                link = html_unescape(m.group(1).decode('unicode-escape')) -                if not urlparse.urlparse(link).scheme: -                    link = urlparse.urljoin("https://docs.google.com/", link) - +                link = self.fixurl(link, "https://docs.google.com/")                  direct_link = self.direct_link(link, False) +                  if not direct_link:                      self.html = self.load(link)                  else: diff --git a/module/plugins/hoster/HellshareCz.py b/module/plugins/hoster/HellshareCz.py index eab819ad9..012b6be63 100644 --- a/module/plugins/hoster/HellshareCz.py +++ b/module/plugins/hoster/HellshareCz.py @@ -1,7 +1,5 @@  # -*- coding: utf-8 -*- -import urlparse -  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo diff --git a/module/plugins/hoster/NowDownloadSx.py b/module/plugins/hoster/NowDownloadSx.py index 876a7bcb5..e03ec2789 100644 --- a/module/plugins/hoster/NowDownloadSx.py +++ b/module/plugins/hoster/NowDownloadSx.py @@ -29,7 +29,7 @@ class NowDownloadSx(SimpleHoster):      WAIT_PATTERN = r'\.countdown\(\{until: \+(\d+),'      LINK_FREE_PATTERN = r'(http://s\d+(?:\.coolcdn\.info|\.mighycdndelivery\.com)/nowdownload/.+?)["\']' -    NAME_REPLACEMENTS = [("&#?\w+;", fixup), (r'<.*?>', '')] +    NAME_REPLACEMENTS = [(r'<.*?>', '')]      def setup(self): diff --git a/module/plugins/hoster/ShareonlineBiz.py b/module/plugins/hoster/ShareonlineBiz.py index cef9f6bfb..bba4bf6ad 100644 --- a/module/plugins/hoster/ShareonlineBiz.py +++ b/module/plugins/hoster/ShareonlineBiz.py @@ -3,7 +3,6 @@  import re  import time  import urllib -import urlparse  from module.network.RequestFactory import getURL as get_url  from module.plugins.captcha.ReCaptcha import ReCaptcha @@ -160,6 +159,7 @@ class ShareonlineBiz(SimpleHoster):          try:              self.log_error(errmsg, re.search(self.ERROR_PATTERN, self.html).group(1)) +          except Exception:              self.log_error(_("Unknown error occurred"), errmsg) diff --git a/module/plugins/hoster/SpeedyshareCom.py b/module/plugins/hoster/SpeedyshareCom.py index 7d7a60f04..4a71c179d 100644 --- a/module/plugins/hoster/SpeedyshareCom.py +++ b/module/plugins/hoster/SpeedyshareCom.py @@ -4,7 +4,6 @@  # http://speedy.sh/ep2qY/Zapp-Brannigan.jpg  import re -import urlparse  from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo diff --git a/module/plugins/hoster/UploadedTo.py b/module/plugins/hoster/UploadedTo.py index 697f1febd..a3b9fbc2f 100644 --- a/module/plugins/hoster/UploadedTo.py +++ b/module/plugins/hoster/UploadedTo.py @@ -2,7 +2,6 @@  import re  import time -import urlparse  from module.network.RequestFactory import getURL as get_url  from module.plugins.captcha.ReCaptcha import ReCaptcha diff --git a/module/plugins/hoster/YibaishiwuCom.py b/module/plugins/hoster/YibaishiwuCom.py index 0c1a028f8..b68e87ba6 100644 --- a/module/plugins/hoster/YibaishiwuCom.py +++ b/module/plugins/hoster/YibaishiwuCom.py @@ -52,8 +52,9 @@ class YibaishiwuCom(SimpleHoster):                  self.link = mr['url'].replace("\\", "")                  self.log_debug("Trying URL: " + self.link)                  break +              except Exception: -                continue +                pass          else:              self.fail(_("No working link found")) diff --git a/module/plugins/hoster/ZeveraCom.py b/module/plugins/hoster/ZeveraCom.py index ff3a43e6d..47286fca1 100644 --- a/module/plugins/hoster/ZeveraCom.py +++ b/module/plugins/hoster/ZeveraCom.py @@ -1,7 +1,6 @@  # -*- coding: utf-8 -*-  import re -import urlparse  from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo | 
