summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster
diff options
context:
space:
mode:
authorGravatar Radek Senfeld <rush@logic.cz> 2014-12-22 01:13:39 +0100
committerGravatar Walter Purcaro <vuolter@gmail.com> 2014-12-22 01:13:39 +0100
commit12ae02902dade75c4808e7ec8d6b35c983cc1212 (patch)
treea4ea6603af86e0358718481e554c494e6ed4fd2c /module/plugins/hoster
parent[SimpleHoster] Improve checkFile (diff)
downloadpyload-12ae02902dade75c4808e7ec8d6b35c983cc1212.tar.xz
[WebshareCz] Fixed hoster with added account
Diffstat (limited to 'module/plugins/hoster')
-rw-r--r--module/plugins/hoster/WebshareCz.py66
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)