# -*- coding: UTF-8 -*- #/* # * Copyright (C) 2011 Libor Zoubek # * # * # * This Program is free software; you can redistribute it and/or modify # * it under the terms of the GNU General Public License as published by # * the Free Software Foundation; either version 2, 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 General Public License for more details. # * # * You should have received a copy of the GNU General Public License # * along with this program; see the file COPYING. If not, write to # * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. # * http://www.gnu.org/copyleft/gpl.html # * # */ import re,util __name__ = 'streamcloud' def supports(url): return not _regex(url) == None # returns the steam url def url(url): m = _regex(url) if not m == None: data = util.substr(util.request(url),'class=\"proform\"','') #print data form_values = {} pattern = '.*?)".+?value="(?P.*?)"' for n in re.finditer(pattern,data,re.IGNORECASE | re.DOTALL ): form_values[n.group('name')] = n.group('value') #print form_values try: #time.sleep(10) resp = util.post(url,form_values) except: util.error('streamcloud: got http error fetching %s' % (url)) return False r = re.search('file: "(.+?)",', resp) if r: return [r.group(1)] def resolve(u): stream = url(u) if stream: return [{'name':__name__,'quality':'640p','url':stream[0],'surl':u}] def _regex(url): return re.search('http://(www.)?streamcloud.eu/[0-9A-Za-z]+',url,re.IGNORECASE | re.DOTALL)