# -*- coding: utf-8 -*- ############################################################################ # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . ############################################################################ import re from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo class VeohCom(SimpleHoster): __name__ = "VeohCom" __type__ = "hoster" __pattern__ = r'http://(?:www\.)?veoh\.com/(tv/)?(watch|videos)/(?Pv\w+)' __version__ = "0.2" __config__ = [("quality", "Low;High;Auto", "Quality", "Auto")] __description__ = """Veoh.com hoster plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" FILE_NAME_PATTERN = r'Sorry, we couldn\'t find the video you were looking for' FILE_URL_REPLACEMENTS = [(__pattern__, r'http://www.veoh.com/watch/\g')] SH_COOKIES = [(".veoh.com", "lassieLocale", "en")] def setup(self): self.resumeDownload = self.multiDL = True self.chunkLimit = -1 def handleFree(self): quality = self.getConfig("quality") if quality == "Auto": quality = ("High", "Low") for q in quality: pattern = r'"fullPreviewHash%sPath":"(.+?)"' % q found = re.search(pattern, self.html) if found: self.pyfile.name += ".mp4" link = found.group(1).replace("\\", "") self.logDebug("Download link: " + link) self.download(link) return else: self.logInfo("No %s quality video found" % q.upper()) else: self.fail("No video found!") getInfo = create_getInfo(VeohCom)