diff options
author | Radek Senfeld <rush@logic.cz> | 2014-12-22 01:13:39 +0100 |
---|---|---|
committer | Walter Purcaro <vuolter@gmail.com> | 2014-12-22 01:13:39 +0100 |
commit | 12ae02902dade75c4808e7ec8d6b35c983cc1212 (patch) | |
tree | a4ea6603af86e0358718481e554c494e6ed4fd2c /module/plugins/hoster | |
parent | [SimpleHoster] Improve checkFile (diff) | |
download | pyload-12ae02902dade75c4808e7ec8d6b35c983cc1212.tar.xz |
[WebshareCz] Fixed hoster with added account
Diffstat (limited to 'module/plugins/hoster')
-rw-r--r-- | module/plugins/hoster/WebshareCz.py | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/module/plugins/hoster/WebshareCz.py b/module/plugins/hoster/WebshareCz.py index 17aaff37c..7b9c097c5 100644 --- a/module/plugins/hoster/WebshareCz.py +++ b/module/plugins/hoster/WebshareCz.py @@ -3,22 +3,7 @@ import re from module.network.RequestFactory import getURL -from module.plugins.internal.SimpleHoster import SimpleHoster - - -def getInfo(urls): - for url in urls: - fid = re.search(WebshareCz.__pattern__, url).group('ID') - api_data = getURL("https://webshare.cz/api/file_info/", post={'ident': fid}) - - if 'File not found' in api_data: - file_info = (url, 0, 1, url) - else: - name = re.search('<name>(.+)</name>', api_data).group(1) - size = re.search('<size>(.+)</size>', api_data).group(1) - file_info = (name, size, 2, url) - - yield file_info +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class WebshareCz(SimpleHoster): @@ -30,11 +15,38 @@ class WebshareCz(SimpleHoster): __description__ = """WebShare.cz hoster plugin""" __license__ = "GPLv3" - __authors__ = [("stickell", "l.stickell@yahoo.it")] + __authors__ = [("stickell", "l.stickell@yahoo.it"), + ("rush", "radek.senfeld@gmail.com")] + + + @classmethod + def getInfo(cls, url="", html=""): + info = super(WebshareCz, self).getInfo(url, html) + + if url: + info['pattern'] = re.match(cls.__pattern__, url).groupdict() + + api_data = getURL("https://webshare.cz/api/file_info/", + post={'ident': info['pattern']['ID']}, + decode=True) + + if 'File not found' in api_data: + info['status'] = 1 + else: + info["status"] = 2 + info['name'] = re.search('<name>(.+)</name>', api_data).group(1) or info['name'] + info['size'] = re.search('<size>(.+)</size>', api_data).group(1) or info['size'] + + return info def handleFree(self): - api_data = self.load('https://webshare.cz/api/file_link/', post={'ident': self.fid}) + fid = re.match(self.__pattern__, self.pyfile.url).group("ID") + wst = self.account.infos['wst'] if self.account and 'wst' in self.account.infos else "" + + api_data = getURL('https://webshare.cz/api/file_link/', + post={'ident': fid, 'wst': wst}, + decode=True) self.logDebug("API data: " + api_data) @@ -42,21 +54,11 @@ class WebshareCz(SimpleHoster): if m is None: self.error(_("Unable to detect direct link")) - self.download(m.group(1), disposition=True) - - - def getFileInfo(self): - self.logDebug("URL: %s" % self.pyfile.url) + self.link = m.group(1) - self.fid = re.match(self.__pattern__, self.pyfile.url).group('ID') - self.load(self.pyfile.url) - api_data = self.load('https://webshare.cz/api/file_info/', post={'ident': self.fid}) + def handlePremium(self): + return self.handleFree() - if 'File not found' in api_data: - self.offline() - else: - self.pyfile.name = re.search('<name>(.+)</name>', api_data).group(1) - self.pyfile.size = re.search('<size>(.+)</size>', api_data).group(1) - self.logDebug("FILE NAME: %s FILE SIZE: %s" % (self.pyfile.name, self.pyfile.size)) +getInfo = create_getInfo(WebshareCz) |