summaryrefslogtreecommitdiffstats
path: root/pyload/plugins/hoster/FreakshareCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/plugins/hoster/FreakshareCom.py')
-rw-r--r--pyload/plugins/hoster/FreakshareCom.py39
1 files changed, 22 insertions, 17 deletions
diff --git a/pyload/plugins/hoster/FreakshareCom.py b/pyload/plugins/hoster/FreakshareCom.py
index 2405d1f35..1759df04a 100644
--- a/pyload/plugins/hoster/FreakshareCom.py
+++ b/pyload/plugins/hoster/FreakshareCom.py
@@ -8,23 +8,25 @@ from pyload.plugins.internal.CaptchaService import ReCaptcha
class FreakshareCom(Hoster):
- __name__ = "FreakshareCom"
- __type__ = "hoster"
+ __name__ = "FreakshareCom"
+ __type__ = "hoster"
__version__ = "0.39"
__pattern__ = r'http://(?:www\.)?freakshare\.(net|com)/files/\S*?/'
__description__ = """Freakshare.com hoster plugin"""
- __authors__ = [("sitacuisses", "sitacuisses@yahoo.de"),
- ("spoob", "spoob@pyload.org"),
- ("mkaay", "mkaay@mkaay.de"),
- ("Toilal", "toilal.dev@gmail.com")]
+ __license__ = "GPLv3"
+ __authors__ = [("sitacuisses", "sitacuisses@yahoo.de"),
+ ("spoob", "spoob@pyload.org"),
+ ("mkaay", "mkaay@mkaay.de"),
+ ("Toilal", "toilal.dev@gmail.com")]
def setup(self):
self.multiDL = False
self.req_opts = []
+
def process(self, pyfile):
self.pyfile = pyfile
@@ -48,24 +50,23 @@ class FreakshareCom(Hoster):
"downloadserver": "No Downloadserver. Please try again later!"})
if check == "bad":
- self.fail("Bad Try.")
+ self.fail(_("Bad Try"))
elif check == "paralell":
self.setWait(300, True)
self.wait()
self.retry()
elif check == "empty":
- self.fail("File not downloadable")
+ self.fail(_("File not downloadable"))
elif check == "wrong_captcha":
self.invalidCaptcha()
self.retry()
elif check == "downloadserver":
- self.retry(5, 15 * 60, "No Download server")
+ self.retry(5, 15 * 60, _("No Download server"))
+
def prepare(self):
pyfile = self.pyfile
- self.wantReconnect = False
-
self.download_html()
if not self.file_exists():
@@ -80,10 +81,12 @@ class FreakshareCom(Hoster):
return True
+
def download_html(self):
self.load("http://freakshare.com/index.php", {"language": "EN"}) # Set english language in server session
self.html = self.load(self.pyfile.url)
+
def get_file_url(self):
""" returns the absolute downloadable filepath
"""
@@ -96,6 +99,7 @@ class FreakshareCom(Hoster):
else:
self.offline()
+
def get_file_name(self):
if not self.html:
self.download_html()
@@ -109,6 +113,7 @@ class FreakshareCom(Hoster):
else:
return self.pyfile.url
+
def get_file_size(self):
size = 0
if not self.html:
@@ -123,6 +128,7 @@ class FreakshareCom(Hoster):
return size
+
def get_waiting_time(self):
if not self.html:
self.download_html()
@@ -131,12 +137,13 @@ class FreakshareCom(Hoster):
self.wantReconnect = True
return secondsToMidnight(gmt=2)
- timestring = re.search('\s*var\s(?:downloadWait|time)\s=\s(\d*)[.\d]*;', self.html)
+ timestring = re.search('\s*var\s(?:downloadWait|time)\s=\s(\d*)[\d.]*;', self.html)
if timestring:
- return int(timestring.group(1)) + 1 # add 1 sec as tenths of seconds are cut off
+ return int(timestring.group(1))
else:
return 60
+
def file_exists(self):
""" returns True or False
"""
@@ -147,6 +154,7 @@ class FreakshareCom(Hoster):
else:
return True
+
def get_download_options(self):
re_envelope = re.search(r".*?value=\"Free\sDownload\".*?\n*?(.*?<.*?>\n*)*?\n*\s*?</form>",
self.html).group(0) # get the whole request
@@ -162,10 +170,7 @@ class FreakshareCom(Hoster):
to_sort = re.findall(r"<input\stype=\".*?\"\svalue=\"(\S*?)\".*?name=\"(\S*?)\"\s.*?\/>", herewego)
request_options = dict((n, v) for (v, n) in to_sort)
- # comment this in, when it doesnt work as well
- #print "\n\n%s\n\n" % ";".join(["%s=%s" % x for x in to_sort])
-
- challenge = re.search(r"http://api\.recaptcha\.net/challenge\?k=([0-9A-Za-z]+)", herewego)
+ challenge = re.search(r"http://api\.recaptcha\.net/challenge\?k=(\w+)", herewego)
if challenge:
re_captcha = ReCaptcha(self)