def search(query): global __key__ if len(__key__)< 1: __addon__.openSettings() __key__ = getkey() params = {"key": __key__} if "imdb_id" in query: params["imdb"] = query['imdb_id'].replace("tt","") if "season" in query: params["search_str"] = "%(title)s [Season %(season)2d/Episode%(episode)2d]" % query if getsettings() != ",": params['categtags'] = getsettings() if "title" in query: title = query["title"] else: title = query params["search_str"] = query.encode("utf8") response = provider.GET("http://87.248.186.252/rss.php", params) notify("Total files:" + str(len(re.findall(r'magnet:\?[^\'"\s<>\[\]]+', response.data))), title.encode("utf8") ,10000, __addon__.getAddonInfo('icon')) return provider.extract_magnets(response.data)
def search(query): print PREFIX_LOG + ("Running search query: %s" % query) url = "http://katproxy.bz/usearch/%s" % query m = hashlib.md5() m.update(url) url_hash = m.hexdigest() cache_file = cache_prefix + url_hash print PREFIX_LOG + ("Cache file: %s" % cache_file) if (os.path.isfile(cache_file)): print PREFIX_LOG + "Pulling from cache" f = open(cache_file, 'r') data = f.read() f.close() else: print PREFIX_LOG + ("Requesting: %s" % url) response = provider.GET(url, params={"q": query}) data = response.data if response.headers.get("Content-Encoding", "") == "gzip": import zlib data = zlib.decompressobj(16 + zlib.MAX_WBITS).decompress(data) f = open(cache_file, 'w') f.write(data) f.close() return provider.extract_magnets(data)
def search(query): pre1 = __proxy__ pre2 = '/search/%s' url = pre1 + pre2 resp = provider.GET(url % provider.quote_plus(query), params={ "q": query, }) return provider.extract_magnets(resp.data)
def search(query): busqueda_completa = "%s" % query pagina_busqueda = __proxy__ + 'usearch/' resp = provider.GET(pagina_busqueda, params={ "q": busqueda_completa.encode('utf-8'), }) return provider.extract_magnets(resp.data)
def search_episode(episode): imdb_id = episode.get("imdb_id") name = episode.get("title") season = episode.get("season") episodio = episode.get("episode") url_pelicula = "http://api.themoviedb.org/3/find/%s?api_key=57983e31fb435df4df77afb854740ea9&language=%s&external_source=imdb_id" % ( imdb_id, IDIOMA) pelicula = urllib2.urlopen(url_pelicula) texto1 = json.loads(pelicula.read()) texto2 = texto1['tv_results'] texto3 = texto2[0] nombre = texto3.get("name") if nombre == "24" and season == 9 and IDIOMA == 'es': nombre = u"24 vive otro dia" name = u"24 live other day" season = 1 nombre = nombre.replace(u'á', "a") nombre = nombre.replace(u'é', "e") nombre = nombre.replace(u'í', "i") nombre = nombre.replace(u'ó', "o") nombre = nombre.replace(u'ú', "u") temporada = "" pag_bus = "" suf_idioma = "" if IDIOMA == 'es': suf_idioma = pag_esp elif IDIOMA == 'it': suf_idioma = pag_ita elif IDIOMA == 'ru': suf_idioma = pag_rus elif IDIOMA == 'fr': suf_idioma = pag_fra if nombre.lower() <> name.lower(): nombre2 = '"' + name + '"' + suf_idioma nombre = '("' + nombre + '" OR ' + nombre2 + ')' else: nombre = '"' + name + '"' + suf_idioma nombre = nombre.replace(":", " ") capitulo = "%s%dX%02d%s%d%02d%s" % (" (", season, episodio, " OR ", season, episodio, " )") busqueda_completa = nombre + capitulo + "/" pagina_busqueda = __proxy__ + 'usearch/' resp = provider.GET(pagina_busqueda, params={ "q": busqueda_completa.encode('utf-8'), }) return provider.extract_magnets(resp.data)
def search(query): provider.log.debug("QUERY : %s" % query) if (query['query']): query = query['query'] query_normalize = unicodedata.normalize('NFKD', query) query = ''.join(c for c in query_normalize if (not unicodedata.combining(c))) url = "%s/%s?query=%s" % (__baseUrl__, ACTION_SEARCH, provider.quote_plus(query)) provider.log.info("SEARCH : %s" % url) response = provider.GET(url) if response.geturl() is not url: # Redirection 30x followed to individual page - Return the magnet link provider.log.info( 'Redirection 30x followed to individual page - Return the magnet link' ) return provider.extract_magnets(response.data) #return [{"uri": magnet} for magnet in re.findall(r'magnet:\?[^\'"\s<>\[\]]+', response.data)] else: # Multiple torrent page - Parse page to get individual page provider.log.info('Multiple torrent page - Parsing') # Parse the table result table = common.parseDOM(response.data, 'table', attrs={"class": "table_corps"}) liens = common.parseDOM(table, 'a', attrs={"class": "torrent"}, ret='href') provider.log.debug('liens : %s' % liens) threads = [] magnets = [] q = Queue.Queue() # Call each individual page in parallel for lien in liens: thread = Thread(target=directLink, args=('%s%s' % (__baseUrl__, lien), q)) thread.start() threads.append(thread) # And get all the results for t in threads: t.join() while not q.empty(): magnets.append(q.get()[0]) provider.log.info('Magnets List : %s' % magnets) return magnets
def search_episode(episode): imdb_id = episode.get("imdb_id") name = episode.get("title") season = episode.get("season") episodio = episode.get("episode") url_pelicula = "http://api.themoviedb.org/3/find/%s?api_key=57983e31fb435df4df77afb854740ea9&language=%s&external_source=imdb_id" % (imdb_id, IDIOMA) pelicula = urllib2.urlopen(url_pelicula) texto1 = json.loads(pelicula.read()) texto2 = texto1['tv_results'] texto3 = texto2[0] nombre = texto3.get("name") if nombre == "24" and season == 9 and IDIOMA == 'es': nombre = u"24 vive otro dia" name = u"24 live other day" season = 1 nombre = nombre.replace(u'á', "a") nombre = nombre.replace(u'é', "e") nombre = nombre.replace(u'í', "i") nombre = nombre.replace(u'ó', "o") nombre = nombre.replace(u'ú', "u") temporada = "" pag_bus = "" suf_idioma = "" if IDIOMA == 'es': suf_idioma = pag_esp elif IDIOMA == 'it': suf_idioma = pag_ita elif IDIOMA == 'ru': suf_idioma = pag_rus elif IDIOMA == 'fr': suf_idioma = pag_fra if nombre.lower() <> name.lower(): nombre2 = '"' + name + '"' + suf_idioma nombre = '("' + nombre + '" OR ' + nombre2 + ')' else: nombre = '"' + name + '"' + suf_idioma nombre = nombre.replace(":", " ") capitulo = "%s%dX%02d%s%d%02d%s" % (" (",season, episodio, " OR ", season, episodio, " )") busqueda_completa = nombre + capitulo + "/" pagina_busqueda = __proxy__ + 'usearch/' resp = provider.GET(pagina_busqueda, params={"q": busqueda_completa.encode('utf-8'),}) return provider.extract_magnets(resp.data)
def search(query): provider.log.debug("QUERY : %s" % query) if(query['query']) : query = query['query'] query_normalize = unicodedata.normalize('NFKD',query) query = ''.join(c for c in query_normalize if (not unicodedata.combining(c))) url = "%s/%s?query=%s" % (__baseUrl__, ACTION_SEARCH, provider.quote_plus(query)) provider.log.info("SEARCH : %s" % url) response = provider.GET(url) if response.geturl() is not url: # Redirection 30x followed to individual page - Return the magnet link provider.log.info('Redirection 30x followed to individual page - Return the magnet link') return provider.extract_magnets(response.data) #return [{"uri": magnet} for magnet in re.findall(r'magnet:\?[^\'"\s<>\[\]]+', response.data)] else: # Multiple torrent page - Parse page to get individual page provider.log.info('Multiple torrent page - Parsing') # Parse the table result table = common.parseDOM(response.data, 'table', attrs = { "class": "table_corps" }) liens = common.parseDOM(table, 'a', attrs = { "class": "torrent" }, ret = 'href') provider.log.debug('liens : %s' % liens) threads = [] magnets = [] q = Queue.Queue() # Call each individual page in parallel for lien in liens : thread = Thread(target=directLink, args = ('%s%s' % (__baseUrl__, lien), q)) thread.start() threads.append(thread) # And get all the results for t in threads : t.join() while not q.empty(): magnets.append(q.get()[0]) provider.log.info('Magnets List : %s' % magnets) return magnets
def search(query): resp = provider.GET("http://kickass.to/search", params={ "q": query, }) return provider.extract_magnets(resp.data)
def search_generic(base_url, search_string): data = urllib2.urlopen(base_url + search_string) return provider.extract_magnets(data.read())
def search(query): resp = provider.GET("http://kickass.so/usearch", params={ "q": query, }) return provider.extract_magnets(resp.data)
def search_movie(movie): # Busqueda de titulo en idioma de audio ------------------------ if IDIOMA <> 'en': inicio_proceso = time.time() imdb_id = movie.get("imdb_id") name = movie.get("title") url_pelicula = "http://api.themoviedb.org/3/find/%s?api_key=57983e31fb435df4df77afb854740ea9&language=%s&external_source=imdb_id" % (imdb_id, IDIOMA) pelicula = urllib2.urlopen(url_pelicula) texto1 = json.loads(pelicula.read()) texto2 = texto1['movie_results'] texto3 = texto2[0] nombre = texto3.get("title") nombre = nombre.replace(u'á', "a") nombre = nombre.replace(u'é', "e") nombre = nombre.replace(u'í', "i") nombre = nombre.replace(u'ó', "o") nombre = nombre.replace(u'ú', "u") else: nombre = name # ------------------------------------------------------------- var_1 = "%s" % name var_2 = "%s" % nombre suf_idioma = "" if IDIOMA == 'es': suf_idioma = pag_esp elif IDIOMA == 'it': suf_idioma = pag_ita elif IDIOMA == 'ru': suf_idioma = pag_rus elif IDIOMA == 'fr': suf_idioma = pag_fra nombre2 = '"' + name + '"' + suf_idioma var_1 = var_1.lower() var_2 = var_2.lower() if var_1 == var_2: nombre = nombre2 else: nombre = '"' + nombre + '"' #----Calidad ------------------------------------ if only_HD == "true": nombre = nombre + alta_definicion else: if use_screener == "true": nombre = nombre + screener if use_3D == "false": nombre = nombre + sin_3d #---------------------------------------------------------- nombre = nombre.replace(":", " ") pagina_busqueda = __proxy__ + 'usearch/' busqueda_completa = nombre + u' category:movies' busqueda_completa = busqueda_completa.encode('utf-8') resp = provider.GET(pagina_busqueda, params={"q": busqueda_completa,}) return provider.extract_magnets(resp.data)
def search(query): busqueda_completa = "%s" % query pagina_busqueda = __proxy__ + 'usearch/' resp = provider.GET(pagina_busqueda, params={"q": busqueda_completa.encode('utf-8'),}) return provider.extract_magnets(resp.data)
def search(query): # Will issue a GET call to http://foo.bar/search?q=query (properly urlencoded) resp = provider.GET("http://foo.bar/search", params={ "q": query, }) return provider.extract_magnets(resp.data)
def search(query): resp = provider.GET("https://kickass.to/usearch/%s%20" % provider.quote_plus(query)) return provider.extract_magnets(resp.data)
def search(query): response = provider.GET("https://yts.re/api/listimdb.json?imdb_id=%s" % provider.quote_plus(query)) print 'YIFI - Time: ' + str((time.time() - start)) return provider.extract_magnets(response.data)
def search_movie(movie): # Busqueda de titulo en idioma de audio ------------------------ if IDIOMA <> 'en': inicio_proceso = time.time() imdb_id = movie.get("imdb_id") name = movie.get("title") url_pelicula = "http://api.themoviedb.org/3/find/%s?api_key=57983e31fb435df4df77afb854740ea9&language=%s&external_source=imdb_id" % ( imdb_id, IDIOMA) pelicula = urllib2.urlopen(url_pelicula) texto1 = json.loads(pelicula.read()) texto2 = texto1['movie_results'] texto3 = texto2[0] nombre = texto3.get("title") nombre = nombre.replace(u'á', "a") nombre = nombre.replace(u'é', "e") nombre = nombre.replace(u'í', "i") nombre = nombre.replace(u'ó', "o") nombre = nombre.replace(u'ú', "u") else: nombre = name # ------------------------------------------------------------- var_1 = "%s" % name var_2 = "%s" % nombre suf_idioma = "" if IDIOMA == 'es': suf_idioma = pag_esp elif IDIOMA == 'it': suf_idioma = pag_ita elif IDIOMA == 'ru': suf_idioma = pag_rus elif IDIOMA == 'fr': suf_idioma = pag_fra nombre2 = '"' + name + '"' + suf_idioma var_1 = var_1.lower() var_2 = var_2.lower() if var_1 == var_2: nombre = nombre2 else: nombre = '"' + nombre + '"' #----Calidad ------------------------------------ if only_HD == "true": nombre = nombre + alta_definicion else: if use_screener == "true": nombre = nombre + screener if use_3D == "false": nombre = nombre + sin_3d #---------------------------------------------------------- nombre = nombre.replace(":", " ") pagina_busqueda = __proxy__ + 'usearch/' busqueda_completa = nombre + u' category:movies' busqueda_completa = busqueda_completa.encode('utf-8') resp = provider.GET(pagina_busqueda, params={ "q": busqueda_completa, }) return provider.extract_magnets(resp.data)