diff options
Diffstat (limited to 'module/plugins/hoster/ZShareNet.py')
-rw-r--r-- | module/plugins/hoster/ZShareNet.py | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/module/plugins/hoster/ZShareNet.py b/module/plugins/hoster/ZShareNet.py new file mode 100644 index 000000000..d3453ee5e --- /dev/null +++ b/module/plugins/hoster/ZShareNet.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import re +import random + +from module.utils import parseFileSize +from module.plugins.Hoster import Hoster + +class ZShareNet(Hoster): + __name__ = "ZShareNet" + __type__ = "hoster" + __pattern__ = r"http://[\w\.]*?zshare\.net/(download|video|image|audio|flash)/.*" + __version__ = "0.1" + __description__ = """ZShareNet Download Hoster""" + __author_name__ = ("espes") + + def setup(self): + self.multiDL = False + self.html = None + + def process(self, pyfile): + self.pyfile = pyfile + + self.html = self.load(pyfile.url) + if "File Not Found" in self.html: + self.offline() + + filenameMatch = re.search("File Name:.*?<font color=\"#666666\".*?>(.*?)</font>", self.html, re.DOTALL) + filesizeMatch = re.search("File Size:.*?<font color=\"#666666\".*?>([^<]+)</font>", self.html, re.DOTALL) + if not filenameMatch or not filesizeMatch: + self.offline() + filename = filenameMatch.group(1) + filesize = filesizeMatch.group(1) + if filename.strip() == "": + self.offline() + + pyfile.name = filename + + pyfile.size = parseFileSize(filesize) + + if '<input name="download"' not in self.html: + self.fail("No download form") + + self.html = self.load(pyfile.url, post={ + "download": 1, + "imageField.x": random.randrange(160), + "imageField.y": random.randrange(60)}) + + dllinkMatch = re.search("var link_enc\\=new Array\\(\\'(.*?)\\'\\)", self.html) + if dllinkMatch: + dllink = re.sub("\\'\\,\\'", "", dllinkMatch.group(1)) + else: + self.fail("Plugin defect") + + self.setWait(51) + self.wait() + + self.download(dllink) + check = self.checkDownload({ + "unav": "/images/download.gif", + "404": "404 - Not Found" + }) + #print check + if check == "unav": + self.fail("Plugin defect") + elif check == "404": + self.offline()
\ No newline at end of file |