diff options
| author | 2011-06-05 18:00:26 +0200 | |
|---|---|---|
| committer | 2011-06-05 18:00:26 +0200 | |
| commit | 4477cbbbccfb47581043a3865316f6460011ee01 (patch) | |
| tree | 4b0096ed1cd541171377e8b70350e5455aecc853 /module/plugins | |
| parent | Use new logging functions (diff) | |
| parent | zippyshare fix, coproduction by ernieb and hagg (diff) | |
| download | pyload-4477cbbbccfb47581043a3865316f6460011ee01.tar.xz | |
merge
Diffstat (limited to 'module/plugins')
| -rw-r--r-- | module/plugins/hoster/ZippyshareCom.py | 39 | 
1 files changed, 29 insertions, 10 deletions
| diff --git a/module/plugins/hoster/ZippyshareCom.py b/module/plugins/hoster/ZippyshareCom.py index 3be7ba6e5..9c0b88e58 100644 --- a/module/plugins/hoster/ZippyshareCom.py +++ b/module/plugins/hoster/ZippyshareCom.py @@ -2,14 +2,13 @@  # -*- coding: utf-8 -*-  import re -import urllib  from module.plugins.Hoster import Hoster  class ZippyshareCom(Hoster):      __name__ = "ZippyshareCom"      __type__ = "hoster"      __pattern__ = r"(http://)?www?\d{0,2}\.zippyshare.com/v/" -    __version__ = "0.2" +    __version__ = "0.3"      __description__ = """Zippyshare.com Download Hoster"""      __author_name__ = ("spoob")      __author_mail__ = ("spoob@pyload.org") @@ -18,37 +17,57 @@ class ZippyshareCom(Hoster):          self.html = None          self.wantReconnect = False          self.multiDL = True -     + +      def process(self, pyfile):          self.pyfile = pyfile          self.download_html()          if not self.file_exists():              self.offline() -             +          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, cookies=True) +        self.html = self.load(url) +      def get_file_url(self):          """ returns the absolute downloadable filepath          """ -        file_url_pattern = r"var \w* = '(http%.*?)';" -        file_url_search = re.search(file_url_pattern, self.html).group(1) -        file_url = urllib.unquote(file_url_search.replace("nnn", "aaa").replace("cxc", "www").replace("unlg", "v").replace("konaworld", "zippyshare")) + +        file_host_pattern = r"http://([^/]*)/v/(\d*)/.*" +        file_host_search = re.search(file_host_pattern, self.pyfile.url) +        if file_host_search is None: +            return False + +        file_host = "http://" + file_host_search.group(1) +        file_key = file_host_search.group(2) + +        seed_pattern = r"seed: (\d*)" +        seed_search = re.search(seed_pattern, self.html) +        if seed_search is None: +            return False + +        file_seed = int(seed_search.group(1)) +        time = str((file_seed * 24) % 6743256) + +        file_url = file_host + "/download?key=" + str(file_key) + "&time=" + str(time)          return file_url -         + +      def get_file_name(self):          if self.html is None:              self.download_html()          if not self.wantReconnect: -            file_name = re.search(r'Name: </font> <font.*>(.*?)</font>', self.html).group(1) +            file_name = re.search(r'<meta property="og:title" content="([^"]*)" />', self.html).group(1)              return file_name          else:              return self.pyfile.url +      def file_exists(self):          """ returns True or False          """ | 
