#!/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()