summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/FastshareCz.py
diff options
context:
space:
mode:
authorGravatar zoidberg10 <zoidberg@mujmail.cz> 2012-10-30 23:57:46 +0100
committerGravatar zoidberg10 <zoidberg@mujmail.cz> 2012-10-30 23:57:46 +0100
commit10882cdcf116758d7cc35a72c7432a1bf4cdd15f (patch)
tree2ce46097c96be136c2e5215e60f131e2b3416ff8 /module/plugins/hoster/FastshareCz.py
parentyoutube - add 3D formats, update playlist crypter (diff)
downloadpyload-10882cdcf116758d7cc35a72c7432a1bf4cdd15f.tar.xz
update bezvadata,fastshare,dataport
Diffstat (limited to 'module/plugins/hoster/FastshareCz.py')
-rw-r--r--module/plugins/hoster/FastshareCz.py23
1 files changed, 15 insertions, 8 deletions
diff --git a/module/plugins/hoster/FastshareCz.py b/module/plugins/hoster/FastshareCz.py
index d71684166..cc0b18c96 100644
--- a/module/plugins/hoster/FastshareCz.py
+++ b/module/plugins/hoster/FastshareCz.py
@@ -23,14 +23,14 @@ class FastshareCz(SimpleHoster):
__name__ = "FastshareCz"
__type__ = "hoster"
__pattern__ = r"http://(?:\w*\.)?fastshare.cz/\d+/.+"
- __version__ = "0.13"
+ __version__ = "0.14"
__description__ = """FastShare.cz"""
__author_name__ = ("zoidberg")
- FILE_NAME_PATTERN = r'<h3><b><span style=color:black;>(?P<N>[^<]+)</b></h3>'
+ FILE_NAME_PATTERN = r'<h[23]><b><span style=color:black;>(?P<N>[^<]+)</b></h[23]>'
FILE_SIZE_PATTERN = r'<tr><td>Velikost: </td><td style=font-weight:bold>(?P<S>[^<]+)</td></tr>'
- FILE_OFFLINE_PATTERN = r'<div id="content">\s*<div style=background-color:white'
- SH_HTML_ENCODING = 'cp1250'
+ FILE_OFFLINE_PATTERN = ur'<td align=center>Tento soubor byl smazán'
+ SH_COOKIES = [("fastshare.cz","lang","cs")]
FILE_URL_REPLACEMENTS = [('#.*','')]
FREE_URL_PATTERN = ur'<form method=post action=(/free/.*?)><b>Stáhnout FREE.*?<img src="([^"]*)">'
@@ -38,31 +38,38 @@ class FastshareCz(SimpleHoster):
NOT_ENOUGH_CREDIC_PATTERN = "Nem.te dostate.n. kredit pro sta.en. tohoto souboru"
def handleFree(self):
+ if u">100% FREE slotů je plných.<" in self.html:
+ self.setWait(60, False)
+ self.wait()
+ self.retry(120, "No free slots")
+
found = re.search(self.FREE_URL_PATTERN, self.html)
if not found: self.parseError("Free URL")
action, captcha_src = found.groups()
captcha = self.decryptCaptcha("http://www.fastshare.cz/" + captcha_src)
self.download("http://www.fastshare.cz/" + action, post = {"code": captcha, "submit": u"stáhnout"})
- check = self.checkDownload({"paralell_dl": "<script>alert('Pres FREE muzete stahovat jen jeden soubor najednou.')"})
+ check = self.checkDownload({
+ "paralell_dl": "<title>FastShare.cz</title>|<script>alert\('Pres FREE muzete stahovat jen jeden soubor najednou.'\)"
+ })
self.logDebug(self.req.lastEffectiveURL, self.req.lastURL, self.req.code)
if check == "paralell_dl":
self.setWait(600, True)
self.wait()
- self.retry()
+ self.retry(6, "Paralell download")
def handlePremium(self):
if self.NOT_ENOUGH_CREDIC_PATTERN in self.html:
self.logWarning('Not enough traffic left')
self.resetAccount()
-
+
found = re.search(self.PREMIUM_URL_PATTERN, self.html)
if not found: self.parseError("Premium URL")
url = found.group(1)
self.logDebug("PREMIUM URL: %s" % url)
self.download(url)
-
+
check = self.checkDownload({"credit": re.compile(self.NOT_ENOUGH_CREDIC_PATTERN)})
if check == "credit":
self.resetAccount()