From 6f1d49a979b6ab97c82164a0794251f3ed7571d2 Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Wed, 3 Oct 2012 22:44:10 +0200 Subject: rapidgator fix api url --- module/plugins/accounts/RapidgatorNet.py | 4 +-- module/plugins/accounts/WarserverCz.py | 45 +++++++++++++++++++++++++++++--- module/plugins/hoster/RapidgatorNet.py | 4 +-- module/plugins/hoster/WarserverCz.py | 44 ++++++++++++++++++++++++++++--- 4 files changed, 85 insertions(+), 12 deletions(-) diff --git a/module/plugins/accounts/RapidgatorNet.py b/module/plugins/accounts/RapidgatorNet.py index e88be71ea..126271468 100644 --- a/module/plugins/accounts/RapidgatorNet.py +++ b/module/plugins/accounts/RapidgatorNet.py @@ -24,13 +24,13 @@ from module.common.json_layer import json_loads class RapidgatorNet(Account): __name__ = "RapidgatorNet" - __version__ = "0.01" + __version__ = "0.02" __type__ = "account" __description__ = """rapidgator.net account plugin""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") - API_URL = 'http://test.rapidgator.net/api/user' + API_URL = 'http://rapidgator.net/api/user' def loadAccountInfo(self, user, req): try: diff --git a/module/plugins/accounts/WarserverCz.py b/module/plugins/accounts/WarserverCz.py index b3cafdb5f..21961956b 100644 --- a/module/plugins/accounts/WarserverCz.py +++ b/module/plugins/accounts/WarserverCz.py @@ -17,17 +17,54 @@ @author: zoidberg """ -from module.plugins.accounts.CoolshareCz import CoolshareCz +from module.plugins.Account import Account import re from module.utils import parseFileSize from time import mktime, strptime -class WarserverCz(CoolshareCz): +class WarserverCz(Account): __name__ = "WarserverCz" - __version__ = "0.01" + __version__ = "0.02" __type__ = "account" __description__ = """Warserver.cz account plugin""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") - DOMAIN = "http://www.warserver.cz" \ No newline at end of file + VALID_UNTIL_PATTERN = ur'
  • Neomezené stahování do: (.+?)<' + TRAFFIC_LEFT_PATTERN = ur'
  • Kredit: (.+?)<' + + DOMAIN = "http://www.warserver.cz" + + def loadAccountInfo(self, user, req): + html = req.load("%s/uzivatele/prehled" % self.DOMAIN, decode = True) + + validuntil = trafficleft = None + premium = False + + found = re.search(self.VALID_UNTIL_PATTERN, html) + if found: + self.logDebug("VALID_UNTIL", found.group(1)) + try: + #validuntil = mktime(strptime(found.group(1), "%d %B %Y")) + premium = True + trafficleft = -1 + except Exception, e: + self.logError(e) + + found = re.search(self.TRAFFIC_LEFT_PATTERN, html) + if found: + self.logDebug("TRAFFIC_LEFT", found.group(1)) + trafficleft = parseFileSize((found.group(1).replace(" ",""))) // 1024 + premium = True if trafficleft > 1 << 18 else False + + return ({"validuntil": validuntil, "trafficleft": trafficleft, "premium": premium}) + + def login(self, user, data, req): + html = req.load('%s/uzivatele/prihlaseni?do=prihlaseni-submit' % self.DOMAIN, + post = {"username": user, + "password": data['password'], + "send": u"Přihlásit"}, + decode = True) + + if '

    ' in html: + self.wrongPassword() \ No newline at end of file diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 6c09eabb9..47ab662d9 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -28,11 +28,11 @@ class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.08" + __version__ = "0.09" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") - API_URL = 'http://test.rapidgator.net/api/file' + API_URL = 'http://rapidgator.net/api/file' FILE_INFO_PATTERN = r'Downloading:(\s*<[^>]*>)*\s*(?P.*?)(\s*<[^>]*>)*\s*File size:\s*(?P.*?)' FILE_OFFLINE_PATTERN = r'File not found' diff --git a/module/plugins/hoster/WarserverCz.py b/module/plugins/hoster/WarserverCz.py index 423170319..b256f8d1b 100644 --- a/module/plugins/hoster/WarserverCz.py +++ b/module/plugins/hoster/WarserverCz.py @@ -16,19 +16,55 @@ @author: zoidberg """ +#similar to coolshare.cz (down) + import re -from module.plugins.hoster.CoolshareCz import CoolshareCz -from module.plugins.internal.SimpleHoster import create_getInfo +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.network.HTTPRequest import BadHeader +from module.utils import html_unescape -class WarserverCz(CoolshareCz): +class WarserverCz(SimpleHoster): __name__ = "WarserverCz" __type__ = "hoster" __pattern__ = r"http://(?:\w*\.)?warserver.cz/stahnout/(?P\d+)/.+" - __version__ = "0.11" + __version__ = "0.12" __description__ = """Warserver.cz""" __author_name__ = ("zoidberg") FILE_NAME_PATTERN = r'(?P[^<]+)' + FILE_SIZE_PATTERN = r'

  • Velikost: (?P[^<]+)' + FILE_OFFLINE_PATTERN = r'

    Soubor nenalezen

    ' + + PREMIUM_URL_PATTERN = r'href="(http://[^/]+/dwn-premium.php.*?)"' + DOMAIN = "http://csd01.coolshare.cz" + DOMAIN = "http://s01.warserver.cz" + + def handleFree(self): + try: + self.download("%s/dwn-free.php?fid=%s" % (self.DOMAIN, self.file_info['ID'])) + except BadHeader, e: + self.logError(e) + if e.code == 403: + self.longWait(60,60) + else: raise + self.checkDownloadedFile() + + def handlePremium(self): + found = re.search(self.PREMIUM_URL_PATTERN, self.html) + if not found: self.parseError("Premium URL") + url = html_unescape(found.group(1)) + self.logDebug("Premium URL: " + url) + if not url.startswith("http://"): self.resetAccount() + self.download(url) + self.checkDownloadedFile() + + def checkDownloadedFile(self): + check = self.checkDownload({ + "offline": ">404 Not Found<" + }) + + if check == "offline": + self.offline() getInfo = create_getInfo(WarserverCz) \ No newline at end of file -- cgit v1.2.3