diff options
Diffstat (limited to 'module/plugins')
| -rw-r--r-- | module/plugins/hoster/BitshareCom.py | 34 | 
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 | 
