コード例 #1
0
def bruteforceconvert(str):
	controlo.log("dicionario")
	dicionario = {
	u"\\xe1" : u"á", "\xe1": u"á",
	u"\\xe9" : u"é", "\xe9" : u"é",
	u"\\xe7" : u"ç", "\xe7" : u"ç",
	u"\\xe3" : u"ã", "\xe3" : u"ã",
	u"\\xf3" : u"ó", "\xf3" : u"ó",
	u"\\xed" : u"í", "\xed" : u"í", 
	u"\\xea" : u"ê", "\xea" : u"é"}

	for k, v in dicionario.iteritems():
		controlo.log(unicode(k, errors='ignore')+" "+v)
		str.replace(k, v)
	return str.replace("\\xe1", "!", "\xe1")
コード例 #2
0
	def getMediaUrl(self):
		videoUrl = ''
		api_url = 'https://{0}/api/source/{1}'.format(self.host, self.id)
		post = {'r': '', 'd': self.host}
		post = json.dumps(post)

		req = urllib2.Request(api_url, data=post, headers=self.headers)
		response = urllib2.urlopen(req)
		content = response.read()
		response.close()
		if response.geturl() != api_url:
			api_url = 'https://www.{0}/api/source/{1}'.format(self.host, self.id)
			req = urllib2.Request(api_url, data=post, headers=self.headers)
			response = urllib2.urlopen(req)
			content = response.read()
			response.close()
		if content:
			js_data = json.loads(content)
			if js_data.get('success'):
				sources = [(i.get('label'), i.get('file')) for i in js_data.get('data') if i.get('type') == 'mp4']

				if len(sources) == 1:
					videoUrl = sources[0][1]
				elif len(sources) > 1:
					qualidade = xbmcgui.Dialog().select('Escolha a qualidade', [str(source[0]) if source[0] else 'Unknown' for source in sources])
					if qualidade == -1:
						controlo.log("ERRO")
					videoUrl = sources[qualidade][1]


		request = urllib2.Request(videoUrl)
		request.get_method = lambda: 'HEAD'
		request.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0')
		for key in self.headers:
			request.add_header(key, self.headers[key])
		response = urllib2.urlopen(request)

		return videoUrl+'|%s' % '&'.join(['%s=%s' % (key, urllib.quote_plus(self.headers[key])) for key in self.headers])
コード例 #3
0
    def adicionarVistoSite(self):
        links = self.url.split('/')
        opcao = controlo.addon.getSetting('marcarVisto')
        colocar = 0
        resultado = controlo.abrir_url(self.url,
                                       header=controlo.headers,
                                       cookie=definicoes.getCookie())
        resultado = json.loads(resultado)[0]
        if 'filme' in self.url:
            id_video = resultado['id_video']
            imdb = resultado['IMBD']
            post = {'id_filme': id_video}
            url = self.API_SITE + 'index.php?action=marcar-visto-filme&idFilme=' + id_video
            tipo = 0
        elif 'serie' in self.url:
            imdb = resultado['fotoSerie'].split('/')[-1].split('.')[0]
            id_video = resultado['id_serie']
            temporadas = resultado['temporada']
            episodios = resultado['episodio']
            post = {
                'id_serie': id_video,
                'temporada': temporadas,
                'episodio': episodios
            }
            url = (
                self.API_SITE +
                'index.php?action=marcar-visto-episodio&idSerie=%s&temporada=%s&episodio=%s'
                % (id_video, temporadas, episodios))
            tipo = 1
        elif 'anime' in self.url:
            imdb = resultado['fotoSerie'].split('/')[-1].split('.')[0]
            id_video = resultado['id_serie']
            temporadas = resultado['temporada']
            episodios = resultado['episodio']
            post = {
                'id_anime': id_video,
                'temporada': temporadas,
                'episodio': episodios
            }
            url = (
                self.API_SITE +
                'index.php?action=marcar-visto-episodio&idSerie=%s&temporada=%s&episodio=%s'
                % (id_video, temporadas, episodios))
            tipo = 2

        if opcao == '0' or opcao == '2':
            pastaVisto = os.path.join(self.pastaData, 'vistos')
            try:
                os.makedirs(pastaVisto)
            except:
                pass

            if tipo == 1 or tipo == 2:
                ficheiro = os.path.join(
                    pastaVisto,
                    str(id_video) + '_S' + str(temporadas) + 'x' +
                    str(episodios) + '.mrpiracy')
            elif tipo == 0:
                ficheiro = os.path.join(pastaVisto,
                                        str(id_video) + '.mrpiracy')

            if not os.path.exists(ficheiro):
                f = open(ficheiro, 'w')
                f.write('')
                f.close()
            colocar = 1

        if opcao == '1' or opcao == '2':

            resultado = controlo.abrir_url(url,
                                           header=controlo.headers,
                                           cookie=definicoes.getCookie())

            resultado = json.loads(resultado)
            if resultado['mensagem']['codigo'] == 200:
                colocar = 1
            if resultado['mensagem']['codigo'] == 201:
                colocar = 2
            elif resultado['mensagem']['codigo'] == 204:
                colocar = 3
            userVistos = resultado['userVistos']

            if userVistos != "" or userVistos != []:
                try:
                    vistos_filmes = ','.join(
                        ast.literal_eval(userVistos).values())
                except:
                    vistos_filmes = str(0)
            else:
                vistos_filmes = str(0)
            if tipo == 0:
                controlo.escrever_ficheiro(
                    os.path.join(controlo.pastaDados,
                                 'vistos_filmes.mrpiracy'), vistos_filmes)
            if tipo == 1 or tipo == 2:
                controlo.escrever_ficheiro(
                    os.path.join(controlo.pastaDados,
                                 'vistos_series.mrpiracy'), vistos_filmes)
        if Trakt.loggedIn():
            if 'PT' in imdb:
                imdb = re.compile('(.+?)PT').findall(imdb)[0]
            if 'pt' in imdb:
                imdb = re.compile('(.+?)pt').findall(imdb)[0]
            if tipo == 2 or tipo == 1:
                if '/' in episodios:
                    ep = episodio.split('/')
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, ep[0])
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, ep[1])
                elif 'e' in episodios:
                    ep = episodio.split('e')
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, ep[0])
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, ep[1])
                else:
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, episodios)
            elif tipo == 0:
                controlo.log('Filme: Marcar visto no Trakt')
                controlo.log(imdb)
                Trakt.markwatchedFilmeTrakt(imdb)
            mrpiracy.mrpiracy().getTrakt()
        if colocar == 1:
            xbmc.executebuiltin(
                "XBMC.Notification(MrPiracy," + "Marcado como visto" + "," +
                "6000" + "," + os.path.join(controlo.addonFolder, 'icon.png') +
                ")")
            xbmc.executebuiltin("Container.Refresh")
        if colocar == 2:
            xbmc.executebuiltin(
                "XBMC.Notification(MrPiracy," + "Marcado como não visto" +
                "," + "6000" + "," +
                os.path.join(controlo.addonFolder, 'icon.png') + ")")
            xbmc.executebuiltin("Container.Refresh")
        elif colocar == 3:
            controlo.alerta('MrPiracy', 'Ocorreu um erro ao marcar como visto')
コード例 #4
0
    def adicionarVistoSite(self):
        controlo.headers[
            'Authorization'] = 'Bearer %s' % controlo.addon.getSetting(
                'tokenMrpiracy')
        links = self.url.split('/')
        opcao = controlo.addon.getSetting('marcarVisto')
        colocar = 0
        if 'filme' in self.url:
            id_video = links[-1]
            resultado = controlo.abrir_url(self.url, header=controlo.headers)
            if resultado == 'DNS':
                controlo.alerta(
                    'MrPiracy',
                    'Tem de alterar os DNS para poder usufruir do addon')
                return False
            resultado = json.loads(resultado)
            imdb = resultado['IMBD']
            post = {'id_filme': id_video}
            url = self.API_SITE + 'filmes/marcar-visto'
            tipo = 0
        elif 'serie' in self.url:
            resultado = controlo.abrir_url(self.url, header=controlo.headers)
            if resultado == 'DNS':
                controlo.alerta(
                    'MrPiracy',
                    'Tem de alterar os DNS para poder usufruir do addon')
                return False
            resultado = json.loads(resultado)
            imdb = resultado['imdbSerie']
            id_video = resultado['id_serie']
            temporadas = resultado['temporada']
            episodios = resultado['episodio']
            post = {
                'id_serie': id_video,
                'temporada': temporadas,
                'episodio': episodios
            }
            url = self.API_SITE + 'series/marcar-visto'
            tipo = 1
        elif 'anime' in self.url:
            resultado = controlo.abrir_url(self.url, header=controlo.headers)
            if resultado == 'DNS':
                controlo.alerta(
                    'MrPiracy',
                    'Tem de alterar os DNS para poder usufruir do addon')
                return False
            resultado = json.loads(resultado)
            imdb = resultado['imdbSerie']
            id_video = resultado['id_serie']
            temporadas = resultado['temporada']
            episodios = resultado['episodio']
            post = {
                'id_anime': id_video,
                'temporada': temporadas,
                'episodio': episodios
            }
            url = self.API_SITE + 'animes/marcar-visto'
            tipo = 2
        if opcao == '0' or opcao == '2':
            pastaVisto = os.path.join(self.pastaData, 'vistos')
            try:
                os.makedirs(pastaVisto)
            except:
                pass

            if tipo == 1 or tipo == 2:
                ficheiro = os.path.join(
                    pastaVisto,
                    str(id_video) + '_S' + str(temporadas) + 'x' +
                    str(episodios) + '.mrpiracy')
            elif tipo == 0:
                ficheiro = os.path.join(pastaVisto,
                                        str(id_video) + '.mrpiracy')

            if not os.path.exists(ficheiro):
                f = open(ficheiro, 'w')
                f.write('')
                f.close()
            colocar = 1

        if opcao == '1' or opcao == '2':

            resultado = controlo.abrir_url(url,
                                           post=json.dumps(post),
                                           header=controlo.headers)
            if resultado == 'DNS':
                controlo.alerta(
                    'MrPiracy',
                    'Tem de alterar os DNS para poder usufruir do addon')
                return False
            resultado = json.loads(resultado)
            if resultado['codigo'] == 200:
                colocar = 1
            if resultado['codigo'] == 201:
                colocar = 2
            elif resultado['codigo'] == 204:
                colocar = 3
        if Trakt.loggedIn():
            if 'PT' in imdb:
                imdb = re.compile('(.+?)PT').findall(imdb)[0]
            if tipo == 2 or tipo == 1:
                if '/' in episodios:
                    ep = episodio.split('/')
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, ep[0])
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, ep[1])
                elif 'e' in episodios:
                    ep = episodio.split('e')
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, ep[0])
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, ep[1])
                else:
                    Trakt.markwatchedEpisodioTrakt(imdb, temporadas, episodios)
            elif tipo == 0:
                controlo.log('Filme: Marcar visto no Trakt')
                controlo.log(imdb)
                Trakt.markwatchedFilmeTrakt(imdb)
            mrpiracy.mrpiracy().getTrakt()
        if colocar == 1:
            xbmc.executebuiltin(
                "XBMC.Notification(MrPiracy," + "Marcado como visto" + "," +
                "6000" + "," + os.path.join(controlo.addonFolder, 'icon.png') +
                ")")
            xbmc.executebuiltin("Container.Refresh")
        if colocar == 2:
            xbmc.executebuiltin(
                "XBMC.Notification(MrPiracy," + "Marcado como não visto" +
                "," + "6000" + "," +
                os.path.join(controlo.addonFolder, 'icon.png') + ")")
            xbmc.executebuiltin("Container.Refresh")
        elif colocar == 3:
            controlo.alerta('MrPiracy', 'Ocorreu um erro ao marcar como visto')