本文整理汇总了Python中Utiles.qe方法的典型用法代码示例。如果您正苦于以下问题:Python Utiles.qe方法的具体用法?Python Utiles.qe怎么用?Python Utiles.qe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Utiles
的用法示例。
在下文中一共展示了Utiles.qe方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getInfo
# 需要导入模块: import Utiles [as 别名]
# 或者: from Utiles import qe [as 别名]
def getInfo(self):
"""
Devuelve toda la información asociada a la URL recibida, de la siguiente forma:
{
"exito" : bool, <-- True (si se han obtenido videos)
"num_video" : int, <-- Número de vídeos obtenidos
"mensaje" : u"" , <-- Mensajes de la API (ej.: El vídeo no ha sido encontrado ["exito": False])
"videos" : [{
"url_video" : [], <-- Url de descarga de vídeo
"url_img" : "", <-- Url de la miniatura del video
"filename" : [], <-- Nombre de las partes para guardar en disco
"tipo" : "", <-- http, rtmp[e,..], mms, ...
"partes" : int, <-- Número de partes que tiene el vídeo
"rtmpd_cmd" : [], <-- Comando rtmpdump (si tipo == rtmp) sino None
"menco_cmd" : [], <-- Comando mencoder (Si tipo == rtmp) sino None
"url_publi" : "", <-- Url del vídeo de publicidad asociado al vídeo
"otros" : [], <-- Lista donde se pueden pasar cosas opcionales
"mensaje" : "" <-- Mensajes de la API
}], <-- Debe ser una lista de tamaño "num_videos"
"titulos" : [u""], <-- Titulos de los videos
"descs" : [u""] <-- Descripción de cada vídeo
}
Los valores que no se rellenen, deberán devolver None.
La clave "exito" es obligatoria, sino se puede encontrar el vídeo se puede devolver directamente:
{
"exito": False,
"mensaje": "No se pudo descargar el video"
}
"videos", "mesajes" y "descs" deben ser listas de cadenas (si no son None)
"url_video", "filename", "rtmp_cmd", "menco_cmd" (de "videos") deben ser listas de cadenas (si no son None)
"""
img = None
# print "[+] Procesando descarga"
streamHTML = Descargar.getHtml(self.url)
if self.url.find("atresplayer.com/") != -1:
return self.atresplayer_mobile()
elif self.url.find(".com/videos/") != -1: # Modo Salón
try:
img = self.URL_DE_ANTENA3 + Utiles.qe(streamHTML).split("player_capitulo.poster='/")[1].split("'")[0]
except:
if streamHTML.find('<div class="premium">') != -1:
raise Error.GeneralPyspainTVsError(
u"PyDownTV no acepta la descarga de contenidos premium de las cadenas."
)
url2down, name = self.__modoSalon(streamHTML)
else: # Otro vídeos (No modo salón)
self.log(u"[INFO] Vídeo normal (no Modo Salón)")
# EN PRUEBAS (nuevo modo normal) (17/05/2014) #######################################
xmls = re.findall(".*(http.*\/videosnuevosxml\/.*\.xml).*", streamHTML)
if len(xmls) > 0:
return self.normalNuevoMultiple(xmls)
######################################################################################
# EN PRUEBAS (solo si hay varios vídeos...)! (23/04/2013) [RETROCOMPATIBLE]: #########
xmls = re.findall("\.xml='(.*)'", streamHTML)
if len(xmls) > 1:
xmls = ["/".join(self.url.split("/")[:3]) + i for i in xmls]
return self.normalMultiple(xmls)
#####################################################################################
if streamHTML.find(".seoURL='") != -1: # Url directamente en HTML
self.debug(u"Vídeo con SEO URL")
img = self.URL_DE_ANTENA3 + streamHTML.split(".poster='/")[1].split("'")[0]
url2down, name = self.__modoNormalConURL(streamHTML)
elif streamHTML.find("a3_gp_visor_player") != -1:
self.log(u"[INFO] Vídeo de Fórmula 1")
return self.__modoF1(streamHTML) # return directamente aquí (varios videos)
else: # No está la url en el hmtl (buscar por varias partes)
if streamHTML.find('<div class="visor">') != -1: # Más de 1 parte # Quizas mejor "carrusel"?
return self.__modoNormalVariasPartes(streamHTML) # return directamente aquí (varios videos)
# url2down, name = self.__modoNormalVariasPartes(streamHTML)
else: # Solo una parte
url2down, name = self.__modoNormalUnaParte(streamHTML)
desc = None
try:
desc = Utiles.recortar(streamHTML, '<meta property="og:description" content="', '"').strip()
except:
try:
desc = Utiles.recortar(streamHTML, '<meta name="description" content="', '" />').strip()
except:
desc = None
# if type(url2down) == list:
# for i in url2down:
# if i.find("geobloqueo") != -1:
# self.log(u"[!!!] El vídeo \"" + i + "\" no se puedo descargar (geobloqueado)")
# url2down.remove(i)
# # TODO: Borrar también su nombre correspondiente
#
# # Comprobar si todas las partes están geobloqueadas (no quedan elementos en la lista):
# if len(url2down) == 0:
# raise Error.GeneralPyspainTVsError("Grupo Antena 3. Todo el contenido Geobloqueado.")
# else:
# if url2down.find("geobloqueo") != -1:
# raise Error.GeneralPyspainTVsError("Grupo Antena 3. Todo el contenido Geobloqueado.")
if type(name) == list:
try:
#.........这里部分代码省略.........
示例2: getInfo
# 需要导入模块: import Utiles [as 别名]
# 或者: from Utiles import qe [as 别名]
def getInfo(self):
'''
Devuelve toda la información asociada a la URL recibida, de la siguiente forma:
{
"exito" : bool, <-- True (si se han obtenido videos)
"num_video" : int, <-- Número de vídeos obtenidos
"mensaje" : u"" , <-- Mensajes de la API (ej.: El vídeo no ha sido encontrado ["exito": False])
"videos" : [{
"url_video" : [], <-- Url de descarga de vídeo
"url_img" : "", <-- Url de la miniatura del video
"filename" : [], <-- Nombre de las partes para guardar en disco
"tipo" : "", <-- http, rtmp[e,..], mms, ...
"partes" : int, <-- Número de partes que tiene el vídeo
"rtmpd_cmd" : [], <-- Comando rtmpdump (si tipo == rtmp) sino None
"menco_cmd" : [], <-- Comando mencoder (Si tipo == rtmp) sino None
"url_publi" : "", <-- Url del vídeo de publicidad asociado al vídeo
"otros" : [], <-- Lista donde se pueden pasar cosas opcionales
"mensaje" : "" <-- Mensajes de la API
}], <-- Debe ser una lista de tamaño "num_videos"
"titulos" : [u""], <-- Titulos de los videos
"descs" : [u""] <-- Descripción de cada vídeo
}
Los valores que no se rellenen, deberán devolver None.
La clave "exito" es obligatoria, sino se puede encontrar el vídeo se puede devolver directamente:
{
"exito": False,
"mensaje": "No se pudo descargar el video"
}
"videos", "mesajes" y "descs" deben ser listas de cadenas (si no son None)
"url_video", "filename", "rtmp_cmd", "menco_cmd" (de "videos") deben ser listas de cadenas (si no son None)
'''
img = None
# print "[+] Procesando descarga"
streamHTML = Descargar.getHtml(self.url)
if self.url.find(".com/videos/") != -1: # Modo Salón
img = self.URL_DE_ANTENA3 + Utiles.qe(streamHTML).split("player_capitulo.poster=\'/")[1].split("\'")[0]
url2down, name = self.__modoSalon(streamHTML)
else: # Otro vídeos (No modo salón)
self.log(u"[INFO] Vídeo normal (no Modo Salón)")
if streamHTML.find(".seoURL='") != -1: # Url directamente en HTML
img = self.URL_DE_ANTENA3 + streamHTML.split(".poster=\'/")[1].split("\'")[0]
url2down, name = self.__modoNormalConURL(streamHTML)
elif streamHTML.find("a3_gp_visor_player") != -1:
self.log(u"[INFO] Vídeo de Fórmula 1")
return self.__modoF1(streamHTML) # return directamente aquí
else: # No está la url en el hmtl (buscar por varias partes)
if streamHTML.find("<div class=\"visor\">") != -1: # Más de 1 parte # Quizas mejor "carrusel"?
url2down, name = self.__modoNormalVariasPartes(streamHTML)
else: # Solo una parte
url2down, name = self.__modoNormalUnaParte(streamHTML)
desc = None
try:
desc = Utiles.recortar(streamHTML, "<meta property=\"og:description\" content=\"", "\"").strip()
except:
try:
desc = Utiles.recortar(streamHTML, "<meta name=\"description\" content=\"", "\" />").strip()
except:
desc = None
#if type(url2down) == list:
# for i in url2down:
# if i.find("geobloqueo") != -1:
# self.log(u"[!!!] El vídeo \"" + i + "\" no se puedo descargar (geobloqueado)")
# url2down.remove(i)
# # TODO: Borrar también su nombre correspondiente
#
# # Comprobar si todas las partes están geobloqueadas (no quedan elementos en la lista):
# if len(url2down) == 0:
# raise Error.GeneralPyspainTVsError("Grupo Antena 3. Todo el contenido Geobloqueado.")
#else:
# if url2down.find("geobloqueo") != -1:
# raise Error.GeneralPyspainTVsError("Grupo Antena 3. Todo el contenido Geobloqueado.")
if type(name) == list:
tit_vid = name[0].split(".")[0]
for i in name:
b = Utiles.formatearNombre(i)
name[name.index(i)] = b
else:
tit_vid = name.split(".")[0]
name = Utiles.formatearNombre(name)
return {"exito" : True,
"num_videos" : 1,
"mensaje" : u"URL obtenido correctamente",
"videos":[{
"url_video" : [url2down] if type(url2down) != list else url2down,
"url_img" : img if img is not None else None,
"filename" : [name] if type(name) != list else name,
"tipo" : "http",
"partes" : 1 if type(url2down) != list else len(url2down),
"rtmpd_cmd" : None,
"menco_cmd" : None,
"url_publi" : None,
"otros" : None,
"mensaje" : u"URL obtenida correctamente" if type(url2down) != list else u"URLs obtenida correctamente"
}],
"titulos": [tit_vid] if tit_vid is not None else None,
#.........这里部分代码省略.........