summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster/BitshareCom.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/hoster/BitshareCom.py')
-rw-r--r--module/plugins/hoster/BitshareCom.py34
1 files changed, 20 insertions, 14 deletions
diff --git a/module/plugins/hoster/BitshareCom.py b/module/plugins/hoster/BitshareCom.py
index a4fbde048..50013cc43 100644
--- a/module/plugins/hoster/BitshareCom.py
+++ b/module/plugins/hoster/BitshareCom.py
@@ -21,13 +21,13 @@ class BitshareCom(SimpleHoster):
("fragonib", "fragonib[AT]yahoo[DOT]es")]
- INFO_PATTERN = r'Downloading (?P<N>.+) - (?P<S>[\d.,]+) (?P<U>[\w^_]+)</h1>'
- OFFLINE_PATTERN = r'(>We are sorry, but the requested file was not found in our database|>Error - File not available<|The file was deleted either by the uploader, inactivity or due to copyright claim)'
-
COOKIES = [("bitshare.com", "language_selection", "EN")]
- AJAXID_PATTERN = r'var ajaxdl = "(.*?)";'
- TRAFFIC_USED_UP = r'Your Traffic is used up for today. Upgrade to premium to continue!'
+ INFO_PATTERN = r'Downloading (?P<N>.+) - (?P<S>[\d.,]+) (?P<U>[\w^_]+)</h1>'
+ OFFLINE_PATTERN = r'[Ff]ile (not available|was deleted|was not found)'
+
+ AJAXID_PATTERN = r'var ajaxdl = "(.*?)";'
+ TRAFFIC_USED_UP = r'Your Traffic is used up for today'
def setup(self):
@@ -39,8 +39,6 @@ class BitshareCom(SimpleHoster):
if self.premium:
self.account.relogin(self.user)
- self.pyfile = pyfile
-
# File id
m = re.match(self.__pattern__, pyfile.url)
self.file_id = max(m.group('ID1'), m.group('ID2'))
@@ -60,10 +58,12 @@ class BitshareCom(SimpleHoster):
self.retry()
# File name
- m = re.match(self.__pattern__, pyfile.url)
+ m = re.match(self.__pattern__, pyfile.url)
name1 = m.group('NAME') if m else None
- m = re.search(self.INFO_PATTERN, self.html)
+
+ m = re.search(self.INFO_PATTERN, self.html)
name2 = m.group('N') if m else None
+
pyfile.name = max(name1, name2)
# Ajax file id
@@ -71,12 +71,13 @@ class BitshareCom(SimpleHoster):
self.logDebug("File ajax id is [%s]" % self.ajaxid)
# This may either download our file or forward us to an error page
- url = self.getDownloadUrl()
- self.download(url)
+ self.download(self.getDownloadUrl())
check = self.checkDownload({"404": ">404 Not Found<", "Error": ">Error occured<"})
+
if check == "404":
self.retry(3, 60, 'Error 404')
+
elif check == "error":
self.retry(5, 5 * 60, "Bitshare host : Error occured")
@@ -92,11 +93,14 @@ class BitshareCom(SimpleHoster):
self.logDebug("Getting download info")
res = self.load("http://bitshare.com/files-ajax/" + self.file_id + "/request.html",
post={"request": "generateID", "ajaxid": self.ajaxid})
+
self.handleErrors(res, ':')
- parts = res.split(":")
+
+ parts = res.split(":")
filetype = parts[0]
- wait = int(parts[1])
- captcha = int(parts[2])
+ wait = int(parts[1])
+ captcha = int(parts[2])
+
self.logDebug("Download info [type: '%s', waiting: %d, captcha: %d]" % (filetype, wait, captcha))
# Waiting
@@ -128,7 +132,9 @@ class BitshareCom(SimpleHoster):
self.logDebug("Getting download url")
res = self.load("http://bitshare.com/files-ajax/" + self.file_id + "/request.html",
post={"request": "getDownloadURL", "ajaxid": self.ajaxid})
+
self.handleErrors(res, '#')
+
url = res.split("#")[-1]
return url