# -*- coding: UTF-8 -*- #/* # * Copyright (C) 2012 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 sys import urllib #Python 2 try: import cookielib import urllib2 #import sys reload(sys) # Reload does the trick! sys.setdefaultencoding('UTF8') #Python 3 except: import http.cookiejar cookielib = http.cookiejar urllib2 = urllib.request import re,random,util,os,traceback import json, xbmcaddon from base64 import b64decode from provider import ContentProvider __scriptid__ = 'plugin.video.online-files' __addon__ = xbmcaddon.Addon(id=__scriptid__) __settings__ = __addon__.getSetting class HellspyContentProvider(ContentProvider): def __init__(self,username=None,password=None,filter=None,site_url='https://hellspy.cz/'): ContentProvider.__init__(self,'hellspy.cz',site_url,username,password,filter) opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.LWPCookieJar())) urllib2.install_opener(opener) def capabilities(self): return ['login','search','resolve','categories'] def search(self,keyword): return self.list('search/?usrq='+urllib.parse.quote(keyword)) def login(self): if not self.username and not self.password: return True # fall back to free account elif self.username and self.password and len(self.username)>0 and len(self.password)>0: page = util.request(self.base_url+'?do=loginBox-loginpopup') if page.find('href="/?do=loginBox-logout') > 0: self.info('Already logged in') return True data = util.substr(page,'