summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-06-05 17:59:25 +0200
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-06-05 17:59:25 +0200
commit39d371c7371d2716b731257210a962ba12536b04 (patch)
tree28d99e2fdb7cb961de6fef27683c9639300e02ee
parentclosed #323 (diff)
downloadpyload-39d371c7371d2716b731257210a962ba12536b04.tar.xz
zippyshare fix, coproduction by ernieb and hagg
-rw-r--r--module/plugins/hoster/ZippyshareCom.py39
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
"""