コード例 #1
0
ファイル: tvshack.py プロジェクト: vdeku/xbmc-tvalacarta
def addlist2Library(params, url, category, verbose=True):
    """Adds al episodes of a given show to the library
    
        What it really does is create strm files containing plugin calls
        to the pelisalacarta plugin on each episode.
        For this to work you have to manually add the pelisalacarta-library path
        to the library with the apropiate Content provider (tvdb works just fine)
    """
    logger.info("[tvshack.py] addlist2Library")

    if params.has_key("Serie"):
        serie = params.get("Serie")
    else:
        serie = ""

    if verbose:
        pDialog = xbmcgui.DialogProgress()
        pDialog.create('pelisalacarta', 'A�adiendo episodios...')

    listaEp = devuelveListaEpisodios(params, url, category)
    episodios = 0
    errores = 0
    nuevos = 0
    for i, ep in enumerate(listaEp):
        if verbose:
            pDialog.update(i * 100 / len(listaEp),
                           'A�adiendo episodio...', ep['title'])
            if (pDialog.iscanceled()):
                return
        try:
            nuevos = nuevos + library.savelibrary(ep['title'],
                                                  ep['url'],
                                                  ep['thumbnail'],
                                                  "",
                                                  ep['plot'],
                                                  canal=CHANNELNAME,
                                                  category="Series",
                                                  Serie=serie,
                                                  verbose=False,
                                                  accion="strm_detail",
                                                  pedirnombre=False)
            episodios = episodios + 1
        except IOError:
            logger.info("Error al grabar el archivo " + ep['title'])
            errores = errores + 1

    if verbose:
        pDialog.close()
    if errores > 0:
        logger.info("[tvshack.py - addlist2Library] No se pudo a�adir " +
                    str(errores) + " episodios")

    if verbose:
        library.update(episodios, errores, nuevos)

    return nuevos
コード例 #2
0
def addlist2Library(params, url, category, verbose=True):
    """Añade todos los episodios de una serie a la biblioteca
  """
    xbmc.output("[tvshack.py] addlist2Library")

    if params.has_key("Serie"):
        serie = params.get("Serie")
    else:
        serie = ""

    if verbose:
        pDialog = xbmcgui.DialogProgress()
        pDialog.create("pelisalacarta", "Añadiendo episodios...")

    listaEp = devuelveListaEpisodios(params, url, category)
    episodios = 0
    errores = 0
    nuevos = 0
    for i, ep in enumerate(listaEp):
        if verbose:
            pDialog.update(i * 100 / len(listaEp), "Añadiendo episodio...", ep["title"])
            if pDialog.iscanceled():
                return
        try:
            nuevos = nuevos + library.savelibrary(
                ep["title"],
                ep["url"],
                ep["thumbnail"],
                "",
                ep["plot"],
                canal=CHANNELNAME,
                category="Series",
                Serie=serie,
                verbose=False,
                accion="strm_detail",
                pedirnombre=False,
            )
            episodios = episodios + 1
        except IOError:
            xbmc.output("Error al grabar el archivo " + ep["title"])
            errores = errores + 1

    if verbose:
        pDialog.close()
    if errores > 0:
        xbmc.output("[tvshack.py - addlist2Library] No se pudo añadir " + str(errores) + " episodios")

    if verbose:
        library.update(episodios, errores, nuevos)

    return nuevos
コード例 #3
0
ファイル: tvshack.py プロジェクト: hmemar/xbmc-tvalacarta
def addlist2Library(params,url,category,verbose=True):
    """Adds al episodes of a given show to the library
    
        What it really does is create strm files containing plugin calls
        to the pelisalacarta plugin on each episode.
        For this to work you have to manually add the pelisalacarta-library path
        to the library with the apropiate Content provider (tvdb works just fine)
    """
    logger.info("[tvshack.py] addlist2Library")

    if params.has_key("Serie"):
        serie = params.get("Serie")
    else:
        serie = ""
    
    if verbose:
        pDialog = xbmcgui.DialogProgress()
        pDialog.create('pelisalacarta', 'A�adiendo episodios...')

    listaEp = devuelveListaEpisodios (params,url,category)
    episodios = 0
    errores = 0
    nuevos = 0
    for i,ep in enumerate(listaEp):
        if verbose:
            pDialog.update(i*100/len(listaEp), 'A�adiendo episodio...',ep['title'])
            if (pDialog.iscanceled()):
                return
        try:
            nuevos = nuevos + library.savelibrary(ep['title'],ep['url'],ep['thumbnail'],"",ep['plot'],canal=CHANNELNAME,category="Series",Serie=serie,verbose=False,accion="strm_detail",pedirnombre=False)
            episodios = episodios + 1
        except IOError:
            logger.info("Error al grabar el archivo "+ep['title'])
            errores = errores + 1

    if verbose:
        pDialog.close()
    if errores > 0:
        logger.info ("[tvshack.py - addlist2Library] No se pudo a�adir "+str(errores)+" episodios") 

    if verbose:
        library.update(episodios,errores,nuevos)

    return nuevos
コード例 #4
0
def addlist2Library(params,url,category):
	logger.info("[seriesyonkis.py] addlist2Library")

	# Descarga la página
	data = scrapertools.cachePage(url)
	#logger.info(data)

	if params.has_key("Serie"):
		Serie = params.get("Serie")
	else:
	  Serie = ""

	if params.has_key("server"):
		server = params.get("server")
	else:
	  server = ""

	if params.has_key("thumbnail"):
		thumbnail = params.get("thumbnail")
	else:
	  thumbnail = ""

	# Extrae las entradas (carpetas)
	patronvideos  = '<a href="(http://www.seriesyonkis.com/capitulo[^"]+)"[^>]+>([^<]+)</a>'
	matches = re.compile(patronvideos,re.DOTALL).findall(data)
	scrapertools.printMatches(matches)

	pDialog = xbmcgui.DialogProgress()
	ret = pDialog.create('pelisalacarta', 'Añadiendo episodios...')
	pDialog.update(0, 'Añadiendo episodio...')
	totalepisodes = len(matches)
	logger.info ("[seriesyonkis.py - addlist2Library] Total Episodios:"+str(totalepisodes))
	i = 0
	errores = 0
	nuevos = 0
	for match in matches:
		# Titulo
		scrapedtitle = match[1]
		i = i + 1
		pDialog.update(i*100/totalepisodes, 'Añadiendo episodio...',scrapedtitle)
		if (pDialog.iscanceled()):
			return

		# URL
		#  Tenemos 2 opciones. Scrapear todos los episodios en el momento de añadirlos 
		#  a la biblioteca o bien dejarlo para cuando se vea cada episodio. Esto segundo
		#  añade los episodios mucho más rápido, pero implica añadir una función
		#  strm_detail en cada módulo de canal. Por el bien del rendimiento elijo la
		#  segunda opción de momento (hacer la primera es simplemente descomentar un par de
		#  líneas.
		#  QUIZÁ SEA BUENO PARAMETRIZARLO (PONER OPCIÓN EN LA CONFIGURACIÓN DEL PLUGIN)
		#  PARA DEJAR QUE EL USUARIO DECIDA DONDE Y CUANDO QUIERE ESPERAR.
		url = match [0]
		# JUR-Las 3 líneas siguientes son para OPCIÓN 1
		#scrapedurl = scrapvideoURL(url)
		#if scrapedurl == "":
		#	errores = errores + 1
			
		# Thumbnail
		scrapedthumbnail = ""
		
		# procesa el resto
		scrapedplot = ""
		# Depuracion
		if (DEBUG):
			logger.info("scrapedtitle="+scrapedtitle)
#			logger.info("scrapedurl="+scrapedurl) #OPCION 1.
			logger.info("url="+url) #OPCION 2.
			logger.info("scrapedthumbnail="+scrapedthumbnail)
			logger.info("Serie="+Serie)
			logger.info("Episodio "+str(i)+" de "+str(totalepisodes)+"("+str(i*100/totalepisodes)+"%)")

		# Añade a la librería #Comentada la opción 2. Para cambiar invertir los comentarios
		#OPCION 1:
		#library.savelibrary(scrapedtitle,scrapedurl,scrapedthumbnail,server,scrapedplot,canal=CHANNELNAME,category="Series",Serie=Serie,verbose=False)
		#OPCION 2
		try:
			nuevos = nuevos + library.savelibrary(scrapedtitle,url,scrapedthumbnail,server,scrapedplot,canal=CHANNELNAME,category="Series",Serie=Serie,verbose=False,accion="strm_detail",pedirnombre=False)
		except IOError:
			logger.info("Error al grabar el archivo "+scrapedtitle)
			errores = errores + 1
		
#	xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
	pDialog.close()
	
	#Actualización de la biblioteca
	if errores > 0:
		logger.info ("[seriesyonkis.py - addlist2Library] No se pudo añadir "+str(errores)+" episodios") 
	library.update(totalepisodes,errores,nuevos)

	return nuevos
コード例 #5
0
ファイル: main.py プロジェクト: LeOntalEs/scius-iot-2018
import library as car
from time import sleep  # sleep(second)

car.onsensor()  # Turn On Sensor
# car.offsensor()			# Turn Off Sensor (Recommend)
# # car.led(R,G,B) 		# R,G,B is (int) 0 to 255
# car.led(0,0,0)
# car.sound(melody) 	# melody is (String) [reference melody.py]
# car.sound('C6')

# # car.sounds(notes) 	# notes is (String) Sequence of melodys
# notes = "C6 C6 D6 C6 F6 E6 C6 C6 D6 C6 G6 F6 C6 C6 C7 A6 F6 E6 D6 C7 C7 B6 G6 A6 G6"
# car.sounds(notes)

car.update()  # Update X,Y,Theta,Temp,Humi from Server
# car.temp()			# return (int) Temperature
# car.humi() 			# return (int) Humidity
# #car.motor(L,R) 	# L,R is (int) -999 to 999
# car.motor(999,999) 	# forward
# car.motor(-999,-999) 	# backward
# car.motor(-999,999) 	# turnleft
# car.motor(999,-999) 	# turnright
# car.stop()			# stop
# sleep(1) 				# Sleep 1 second

while True:
    car.humi()
    humi = car.humi()
    if humi > 1:
        car.led(255, 0, 0)
    else:
コード例 #6
0
ファイル: seriesyonkis.py プロジェクト: vdeku/xbmc-tvalacarta
def addlist2Library(params,url,category):
    logger.info("[seriesyonkis.py] addlist2Library")

    # Descarga la página
    data = scrapertools.cachePage(url)
    #logger.info(data)

    if params.has_key("Serie"):
        Serie = params.get("Serie")
    else:
      Serie = ""

    if params.has_key("server"):
        server = params.get("server")
    else:
      server = ""

    if params.has_key("thumbnail"):
        thumbnail = params.get("thumbnail")
    else:
      thumbnail = ""

    # Extrae las entradas (carpetas)
    patronvideos  = '<a href="(http://www.seriesyonkis.com/capitulo[^"]+)"[^>]+>([^<]+)</a>'
    matches = re.compile(patronvideos,re.DOTALL).findall(data)
    scrapertools.printMatches(matches)

    pDialog = xbmcgui.DialogProgress()
    ret = pDialog.create('pelisalacarta', 'Añadiendo episodios...')
    pDialog.update(0, 'Añadiendo episodio...')
    totalepisodes = len(matches)
    logger.info ("[seriesyonkis.py - addlist2Library] Total Episodios:"+str(totalepisodes))
    i = 0
    errores = 0
    nuevos = 0
    for match in matches:
        # Titulo
        scrapedtitle = match[1]
        i = i + 1
        pDialog.update(i*100/totalepisodes, 'Añadiendo episodio...',scrapedtitle)
        if (pDialog.iscanceled()):
            return

        # URL
        #  Tenemos 2 opciones. Scrapear todos los episodios en el momento de añadirlos 
        #  a la biblioteca o bien dejarlo para cuando se vea cada episodio. Esto segundo
        #  añade los episodios mucho más rápido, pero implica añadir una función
        #  strm_detail en cada módulo de canal. Por el bien del rendimiento elijo la
        #  segunda opción de momento (hacer la primera es simplemente descomentar un par de
        #  líneas.
        #  QUIZÁ SEA BUENO PARAMETRIZARLO (PONER OPCIÓN EN LA CONFIGURACIÓN DEL PLUGIN)
        #  PARA DEJAR QUE EL USUARIO DECIDA DONDE Y CUANDO QUIERE ESPERAR.
        url = match [0]
        # JUR-Las 3 líneas siguientes son para OPCIÓN 1
        #scrapedurl = scrapvideoURL(url)
        #if scrapedurl == "":
        #    errores = errores + 1
            
        # Thumbnail
        scrapedthumbnail = ""
        
        # procesa el resto
        scrapedplot = ""
        # Depuracion
        if (DEBUG):
            logger.info("scrapedtitle="+scrapedtitle)
#            logger.info("scrapedurl="+scrapedurl) #OPCION 1.
            logger.info("url="+url) #OPCION 2.
            logger.info("scrapedthumbnail="+scrapedthumbnail)
            logger.info("Serie="+Serie)
            logger.info("Episodio "+str(i)+" de "+str(totalepisodes)+"("+str(i*100/totalepisodes)+"%)")

        # Añade a la librería #Comentada la opción 2. Para cambiar invertir los comentarios
        #OPCION 1:
        #library.savelibrary(scrapedtitle,scrapedurl,scrapedthumbnail,server,scrapedplot,canal=CHANNELNAME,category="Series",Serie=Serie,verbose=False)
        #OPCION 2
        try:
            nuevos = nuevos + library.savelibrary(scrapedtitle,url,scrapedthumbnail,server,scrapedplot,canal=CHANNELNAME,category="Series",Serie=Serie,verbose=False,accion="strm_detail",pedirnombre=False)
        except IOError:
            logger.info("Error al grabar el archivo "+scrapedtitle)
            errores = errores + 1
        
#    xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
    pDialog.close()
    
    #Actualización de la biblioteca
    if errores > 0:
        logger.info ("[seriesyonkis.py - addlist2Library] No se pudo añadir "+str(errores)+" episodios") 
    library.update(totalepisodes,errores,nuevos)

    return nuevos
コード例 #7
0
ファイル: main.py プロジェクト: LeOntalEs/scius-iot-2018
import library as car

try:
    car.offsensor()
    car.goto(300, 150, 700, 700)
    car.update()
    print(car.getx(car.ID), car.gety(car.ID))
    # car.rotate(270, 700)

    # while(True):
    #     car.update()
    #     print(car.getx(4))
    #     print(car.gety(4))
    #     print(car.getdegree(4))
    #     print()
finally:
    car.reset()