diff options
Diffstat (limited to 'module/plugins/hoster/VeehdCom.py')
-rw-r--r-- | module/plugins/hoster/VeehdCom.py | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/module/plugins/hoster/VeehdCom.py b/module/plugins/hoster/VeehdCom.py index 22fc4b207..d894dab24 100644 --- a/module/plugins/hoster/VeehdCom.py +++ b/module/plugins/hoster/VeehdCom.py @@ -1,27 +1,29 @@ # -*- coding: utf-8 -*- import re + from module.plugins.Hoster import Hoster class VeehdCom(Hoster): - __name__ = 'VeehdCom' - __type__ = 'hoster' + __name__ = "VeehdCom" + __type__ = "hoster" + __version__ = "0.23" + __pattern__ = r'http://veehd\.com/video/\d+_\S+' __config__ = [("filename_spaces", "bool", "Allow spaces in filename", False), ("replacement_char", "str", "Filename replacement character", "_")] - __version__ = '0.23' + __description__ = """Veehd.com hoster plugin""" - __author_name__ = "cat" - __author_mail__ = "cat@pyload" + __license__ = "GPLv3" + __authors__ = [("cat", "cat@pyload")] - def _debug(self, msg): - self.logDebug('[%s] %s' % (self.__name__, msg)) def setup(self): self.multiDL = True self.req.canContinue = True + def process(self, pyfile): self.download_html() if not self.file_exists(): @@ -30,48 +32,50 @@ class VeehdCom(Hoster): pyfile.name = self.get_file_name() self.download(self.get_file_url()) + def download_html(self): url = self.pyfile.url - self._debug("Requesting page: %s" % (repr(url),)) + self.logDebug("Requesting page: %s" % url) self.html = self.load(url) + def file_exists(self): - if self.html is None: + if not self.html: self.download_html() if '<title>Veehd</title>' in self.html: return False return True + def get_file_name(self): - if self.html is None: + if not self.html: self.download_html() - match = re.search(r'<title[^>]*>([^<]+) on Veehd</title>', self.html) - if not match: - self.fail("video title not found") - name = match.group(1) + m = re.search(r'<title[^>]*>([^<]+) on Veehd</title>', self.html) + if m is None: + self.error(_("Video title not found")) + + name = m.group(1) # replace unwanted characters in filename if self.getConfig('filename_spaces'): - pattern = '[^0-9A-Za-z\.\ ]+' + pattern = '[^\w ]+' else: - pattern = '[^0-9A-Za-z\.]+' + pattern = '[^\w.]+' + + return re.sub(pattern, self.getConfig('replacement_char'), name) + '.avi' - name = re.sub(pattern, self.getConfig('replacement_char'), - name) - return name + '.avi' def get_file_url(self): """ returns the absolute downloadable filepath """ - if self.html is None: + if not self.html: self.download_html() - match = re.search(r'<embed type="video/divx" src="(http://([^/]*\.)?veehd\.com/dl/[^"]+)"', + m = re.search(r'<embed type="video/divx" src="(http://([^/]*\.)?veehd\.com/dl/[^"]+)"', self.html) - if not match: - self.fail("embedded video url not found") - file_url = match.group(1) + if m is None: + self.error(_("Embedded video url not found")) - return file_url + return m.group(1) |