#!/usr/bin/env python
# -*- coding: utf-8 -*-

import re
import HTMLParser
from module.plugins.Crypter import Crypter

class DownloadVimeoCom(Crypter):
	__name__ = 'DownloadVimeoCom'
	__type__ = 'crypter'
	__pattern__ = r'(?:http://vimeo\.com/\d*|http://smotri\.com/video/view/\?id=.*)'
	## The download from dailymotion failed with a 403
	__version__ = '0.1'
	__description__ = """Video Download Plugin based on downloadvimeo.com"""
	__author_name__ = ('4Christopher')
	__author_mail__ = ('4Christopher@gmx.de')
	BASE_URL = 'http://downloadvimeo.com'

	def decrypt(self, pyfile):
		self.package = pyfile.package()
		html = self.load('%s/generate?url=%s' % (self.BASE_URL, pyfile.url))
		h = HTMLParser.HTMLParser()
		try:
			f = re.search(r'cmd quality="(?P<quality>[^"]+?)">\s*?(?P<URL>[^<]*?)</cmd>', html)
		except:
			self.logDebug('Failed to find the URL')
		else:
			url = h.unescape(f.group('URL'))
			self.logDebug('Quality: %s, URL: %s' % (f.group('quality'), url))
			self.packages.append((self.package.name, [url], self.package.folder))