diff options
author | 2015-02-16 18:11:19 +0100 | |
---|---|---|
committer | 2015-02-16 18:11:19 +0100 | |
commit | 00e547899c7fcfd8bcfc61cd1cc5d0a8aec8cee5 (patch) | |
tree | 874064edf3723afbd30c54e14b489085e23f1ad7 /module/plugins/hoster/CzshareCom.py | |
parent | module temp (diff) | |
parent | [ZippyshareCom] Update get_checksum (diff) | |
download | pyload-00e547899c7fcfd8bcfc61cd1cc5d0a8aec8cee5.tar.xz |
Merge branch 'stable' into 0.4.10
Conflicts:
module/plugins/OCR.py
module/plugins/accounts/BayfilesCom.py
module/plugins/accounts/CatShareNet.py
module/plugins/accounts/DebridItaliaCom.py
module/plugins/accounts/FourSharedCom.py
module/plugins/accounts/FshareVn.py
module/plugins/accounts/Keep2ShareCc.py
module/plugins/accounts/LomafileCom.py
module/plugins/accounts/RapiduNet.py
module/plugins/accounts/RyushareCom.py
module/plugins/accounts/ShareonlineBiz.py
module/plugins/addon/Checksum.py
module/plugins/addon/ExternalScripts.py
module/plugins/addon/ExtractArchive.py
module/plugins/addon/MergeFiles.py
module/plugins/addon/RestartSlow.py
module/plugins/addon/SkipRev.py
module/plugins/addon/UnSkipOnFail.py
module/plugins/addon/UpdateManager.py
module/plugins/addon/WindowsPhoneToastNotify.py
module/plugins/container/CCF.py
module/plugins/container/LinkList.py
module/plugins/container/RSDF.py
module/plugins/crypter/BitshareCom.py
module/plugins/crypter/CrockoCom.py
module/plugins/crypter/DataHu.py
module/plugins/crypter/DepositfilesCom.py
module/plugins/crypter/Dereferer.py
module/plugins/crypter/DevhostStFolder.py
module/plugins/crypter/DlProtectCom.py
module/plugins/crypter/DontKnowMe.py
module/plugins/crypter/EasybytezCom.py
module/plugins/crypter/FilecloudIo.py
module/plugins/crypter/FilecryptCc.py
module/plugins/crypter/FilefactoryCom.py
module/plugins/crypter/FilerNet.py
module/plugins/crypter/FilestubeCom.py
module/plugins/crypter/FiletramCom.py
module/plugins/crypter/FreakhareCom.py
module/plugins/crypter/FreetexthostCom.py
module/plugins/crypter/FshareVn.py
module/plugins/crypter/ImgurComAlbum.py
module/plugins/crypter/JunocloudMe.py
module/plugins/crypter/LinkSaveIn.py
module/plugins/crypter/MegaRapidCz.py
module/plugins/crypter/MultiUpOrg.py
module/plugins/crypter/NetfolderIn.py
module/plugins/crypter/NosvideoCom.py
module/plugins/crypter/OneKhDe.py
module/plugins/crypter/PastebinCom.py
module/plugins/crypter/RapidfileshareNet.py
module/plugins/crypter/RelinkUs.py
module/plugins/crypter/TnyCz.py
module/plugins/crypter/TurbobitNet.py
module/plugins/crypter/TusfilesNet.py
module/plugins/crypter/UploadableCh.py
module/plugins/crypter/UploadedTo.py
module/plugins/crypter/XFileSharingPro.py
module/plugins/hooks/AlldebridCom.py
module/plugins/hooks/BypassCaptcha.py
module/plugins/hooks/Captcha9Kw.py
module/plugins/hooks/CaptchaBrotherhood.py
module/plugins/hooks/ClickAndLoad.py
module/plugins/hooks/DeathByCaptcha.py
module/plugins/hooks/DebridItaliaCom.py
module/plugins/hooks/EasybytezCom.py
module/plugins/hooks/ExpertDecoders.py
module/plugins/hooks/FastixRu.py
module/plugins/hooks/FreeWayMe.py
module/plugins/hooks/ImageTyperz.py
module/plugins/hooks/LinkdecrypterCom.py
module/plugins/hooks/LinksnappyCom.py
module/plugins/hooks/MegaDebridEu.py
module/plugins/hooks/MultishareCz.py
module/plugins/hooks/MyfastfileCom.py
module/plugins/hooks/OverLoadMe.py
module/plugins/hooks/PremiumTo.py
module/plugins/hooks/PremiumizeMe.py
module/plugins/hooks/RPNetBiz.py
module/plugins/hooks/RealdebridCom.py
module/plugins/hooks/RehostTo.py
module/plugins/hooks/SimplyPremiumCom.py
module/plugins/hooks/SimplydebridCom.py
module/plugins/hooks/UnrestrictLi.py
module/plugins/hooks/XFileSharingPro.py
module/plugins/hooks/ZeveraCom.py
module/plugins/hoster/AlldebridCom.py
module/plugins/hoster/BayfilesCom.py
module/plugins/hoster/DebridItaliaCom.py
module/plugins/hoster/DepositfilesCom.py
module/plugins/hoster/DodanePl.py
module/plugins/hoster/ExtabitCom.py
module/plugins/hoster/FastixRu.py
module/plugins/hoster/FastshareCz.py
module/plugins/hoster/FileParadoxIn.py
module/plugins/hoster/FileSharkPl.py
module/plugins/hoster/FilerNet.py
module/plugins/hoster/FileserveCom.py
module/plugins/hoster/FreakshareCom.py
module/plugins/hoster/FreeWayMe.py
module/plugins/hoster/GigapetaCom.py
module/plugins/hoster/IfileIt.py
module/plugins/hoster/Keep2ShareCc.py
module/plugins/hoster/LetitbitNet.py
module/plugins/hoster/LinksnappyCom.py
module/plugins/hoster/LomafileCom.py
module/plugins/hoster/MegaCoNz.py
module/plugins/hoster/MegaDebridEu.py
module/plugins/hoster/MegaRapidCz.py
module/plugins/hoster/MyfastfileCom.py
module/plugins/hoster/OverLoadMe.py
module/plugins/hoster/PremiumTo.py
module/plugins/hoster/PremiumizeMe.py
module/plugins/hoster/RPNetBiz.py
module/plugins/hoster/RapidgatorNet.py
module/plugins/hoster/RealdebridCom.py
module/plugins/hoster/RehostTo.py
module/plugins/hoster/RyushareCom.py
module/plugins/hoster/SendmywayCom.py
module/plugins/hoster/ShareonlineBiz.py
module/plugins/hoster/SimplyPremiumCom.py
module/plugins/hoster/SimplydebridCom.py
module/plugins/hoster/TusfilesNet.py
module/plugins/hoster/UnibytesCom.py
module/plugins/hoster/UnrestrictLi.py
module/plugins/hoster/UploadedTo.py
module/plugins/hoster/WebshareCz.py
module/plugins/hoster/XFileSharingPro.py
module/plugins/hoster/YoutubeCom.py
module/plugins/hoster/ZeveraCom.py
module/plugins/hoster/ZippyshareCom.py
module/plugins/internal/AbstractExtractor.py
module/plugins/internal/BasePlugin.py
module/plugins/internal/CaptchaService.py
module/plugins/internal/DeadCrypter.py
module/plugins/internal/DeadHoster.py
module/plugins/internal/MultiHoster.py
module/plugins/internal/SimpleCrypter.py
module/plugins/internal/SimpleHoster.py
module/plugins/internal/UnRar.py
module/plugins/internal/UnZip.py
module/plugins/internal/XFSCrypter.py
module/plugins/internal/XFSHoster.py
Diffstat (limited to 'module/plugins/hoster/CzshareCom.py')
-rw-r--r-- | module/plugins/hoster/CzshareCom.py | 63 |
1 files changed, 36 insertions, 27 deletions
diff --git a/module/plugins/hoster/CzshareCom.py b/module/plugins/hoster/CzshareCom.py index ad4e36ce7..419e43a7a 100644 --- a/module/plugins/hoster/CzshareCom.py +++ b/module/plugins/hoster/CzshareCom.py @@ -12,30 +12,30 @@ from pyload.utils import parseFileSize class CzshareCom(SimpleHoster): __name__ = "CzshareCom" __type__ = "hoster" - __version__ = "0.95" + __version__ = "0.98" - __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download\.php\?).*' + __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/(\d+/|download\.php\?).+' __description__ = """CZshare.com hoster plugin, now Sdilej.cz""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] - NAME_PATTERN = r'<div class="tab" id="parameters">\s*<p>\s*Cel. n.zev: <a href=[^>]*>(?P<N>[^<]+)</a>' - SIZE_PATTERN = r'<div class="tab" id="category">(?:\s*<p>[^\n]*</p>)*\s*Velikost:\s*(?P<S>[\d .,]+)(?P<U>[\w^_]+)\s*</div>' + NAME_PATTERN = r'<div class="tab" id="parameters">\s*<p>\s*Cel. n.zev: <a href=[^>]*>(?P<N>[^<]+)</a>' + SIZE_PATTERN = r'<div class="tab" id="category">(?:\s*<p>[^\n]*</p>)*\s*Velikost:\s*(?P<S>[\d .,]+)(?P<U>[\w^_]+)\s*</div>' OFFLINE_PATTERN = r'<div class="header clearfix">\s*<h2 class="red">' SIZE_REPLACEMENTS = [(' ', '')] - URL_REPLACEMENTS = [(r'http://[^/]*/download.php\?.*?id=(\w+).*', r'http://sdilej.cz/\1/x/')] + URL_REPLACEMENTS = [(r'http://[^/]*/download.php\?.*?id=(\w+).*', r'http://sdilej.cz/\1/x/')] - FORCE_CHECK_TRAFFIC = True + CHECK_TRAFFIC = True - FREE_URL_PATTERN = r'<a href="([^"]+)" class="page-download">[^>]*alt="([^"]+)" /></a>' - FREE_FORM_PATTERN = r'<form action="download\.php" method="post">\s*<img src="captcha\.php" id="captcha" />(.*?)</form>' + FREE_URL_PATTERN = r'<a href="([^"]+)" class="page-download">[^>]*alt="([^"]+)" /></a>' + FREE_FORM_PATTERN = r'<form action="download\.php" method="post">\s*<img src="captcha\.php" id="captcha" />(.*?)</form>' PREMIUM_FORM_PATTERN = r'<form action="/profi_down\.php" method="post">(.*?)</form>' - FORM_INPUT_PATTERN = r'<input[^>]* name="([^"]+)" value="([^"]+)"[^>]*/>' - MULTIDL_PATTERN = r'<p><font color=\'red\'>Z[^<]*PROFI.</font></p>' - USER_CREDIT_PATTERN = r'<div class="credit">\s*kredit: <strong>([\d .,]+)(\w+)</strong>\s*</div><!-- .credit -->' + FORM_INPUT_PATTERN = r'<input[^>]* name="([^"]+)" value="([^"]+)"[^>]*/>' + MULTIDL_PATTERN = r'<p><font color=\'red\'>Z[^<]*PROFI.</font></p>' + USER_CREDIT_PATTERN = r'<div class="credit">\s*kredit: <strong>([\d .,]+)(\w+)</strong>\s*</div><!-- .credit -->' def checkTrafficLeft(self): @@ -63,7 +63,7 @@ class CzshareCom(SimpleHoster): return True - def handlePremium(self): + def handlePremium(self, pyfile): # parse download link try: form = re.search(self.PREMIUM_FORM_PATTERN, self.html, re.S).group(1) @@ -74,15 +74,16 @@ class CzshareCom(SimpleHoster): # download the file, destination is determined by pyLoad self.download("http://sdilej.cz/profi_down.php", post=inputs, disposition=True) - self.checkDownloadedFile() - def handleFree(self): + def handleFree(self, pyfile): # get free url m = re.search(self.FREE_URL_PATTERN, self.html) if m is None: self.error(_("FREE_URL_PATTERN not found")) + parsed_url = "http://sdilej.cz" + m.group(1) + self.logDebug("PARSED_URL:" + parsed_url) # get download ticket and parse html @@ -93,7 +94,8 @@ class CzshareCom(SimpleHoster): try: form = re.search(self.FREE_FORM_PATTERN, self.html, re.S).group(1) inputs = dict(re.findall(self.FORM_INPUT_PATTERN, form)) - self.pyfile.size = int(inputs['size']) + pyfile.size = int(inputs['size']) + except Exception, e: self.logError(e) self.error(_("Form")) @@ -103,10 +105,13 @@ class CzshareCom(SimpleHoster): for _i in xrange(5): inputs['captchastring2'] = self.decryptCaptcha(captcha_url) self.html = self.load(parsed_url, cookies=True, post=inputs, decode=True) + if u"<li>Zadaný ověřovací kód nesouhlasí!</li>" in self.html: self.invalidCaptcha() + elif re.search(self.MULTIDL_PATTERN, self.html): self.longWait(5 * 60, 12) + else: self.correctCaptcha() break @@ -118,35 +123,39 @@ class CzshareCom(SimpleHoster): # download the file, destination is determined by pyLoad self.logDebug("WAIT URL", self.req.lastEffectiveURL) + m = re.search("free_wait.php\?server=(.*?)&(.*)", self.req.lastEffectiveURL) if m is None: self.error(_("Download URL not found")) - url = "http://%s/download.php?%s" % (m.group(1), m.group(2)) + self.link = "http://%s/download.php?%s" % (m.group(1), m.group(2)) self.wait() - self.download(url) - self.checkDownloadedFile() - def checkDownloadedFile(self): + def checkFile(self): # check download check = self.checkDownload({ - "temp_offline": re.compile(r"^Soubor je do.*asn.* nedostupn.*$"), - "credit": re.compile(r"^Nem.*te dostate.*n.* kredit.$"), - "multi_dl": re.compile(self.MULTIDL_PATTERN), - "captcha_err": "<li>Zadaný ověřovací kód nesouhlasí!</li>" + "temp offline" : re.compile(r"^Soubor je do.*asn.* nedostupn.*$"), + "credit" : re.compile(r"^Nem.*te dostate.*n.* kredit.$"), + "multi-dl" : re.compile(self.MULTIDL_PATTERN), + "captcha" : "<li>Zadaný ověřovací kód nesouhlasí!</li>" }) - if check == "temp_offline": + if check == "temp offline": self.fail(_("File not available - try later")) - if check == "credit": + + elif check == "credit": self.resetAccount() - elif check == "multi_dl": + + elif check == "multi-dl": self.longWait(5 * 60, 12) - elif check == "captcha_err": + + elif check == "captcha": self.invalidCaptcha() self.retry() + return super(CzshareCom, self).checkFile() + getInfo = create_getInfo(CzshareCom) |