Página 1 de 1

Función Listado completo

Publicado: 04 Mar 2014, 13:49
por robalo
Hola

He visto que seriesyonkies.py hay una función muy apañá para listar todas las series. Particularmente a mi me gusta porque prefiero esperar un pelín y tener todo el listado completo o en su defecto el listado completo de una letra del listado alfabético el cual es el motivo de este post.

Para añadir al menú de opciones el enlace a "Listado completo" junto con "Últimos capítulos", Listado alfabético", etc que apunte a completo() no tengo problemas.

He intentado crear una función tomando como guión la función completo() pero no soy capaz de aislar la letra selecciona haciendo que la función listadoalfabetico() apunte a la nueva funcion.

Es la primera vez que me pongo con python hay cosas que se me escapan, sólo he leido un poco de sintaxis para eliminar el primer elemto "!Página siguiente" que le faltaba, se que tengo que leer más pero me da que con lo que he leido debería bastar para conseguir mi objetivo y antes de continuar con la lectura me gustaría asegurarme de lo que me he metido en el tarro es correcto :)

No pido código, sólo una pista y repasar lo que leido y continuar la lectuta para seguir aprendiendo.

Un saludo

Re: Función Listado completo

Publicado: 04 Mar 2014, 16:06
por jesus
Si modificas la función "listadoalfabetico" ya casi lo tienes :)

Esta función crea una lista de items por cada letra, y cada item es un objeto que tiene un atributo llamado "action". Ese es el que sirve para poner el nombre de la función. Pon ahí "completo" y cuando lo selecciones irá a la función "completo".

Luego en la función "completo" puedes sacar la letra elegida mirando en la propiedad "title" del item que la función recibe como parámetro, ya que es precisamente el item elegido.

Este hilo estaría mejor en el foro de desarrollo, no en el de pelisalacarta. A mucha gente le sonará como si fuera griego clásico :)

Re: Función Listado completo

Publicado: 04 Mar 2014, 19:04
por robalo
Muchas gracias Jesús, por recolocarme, lo estaba enfocando mal, ya he podido solucionarlo.

Código: Seleccionar todo

def listalfabetico(item):
    logger.info("[seriesyonkis.py] listalfabetico")
    
    itemlist = []
    
    itemlist.append( Item(channel=__channel__, action="letracompleta" , title="0-9", url="http://www.seriesyonkis.com/lista-de-series/0-9",fanart="http://pelisalacarta.mimediacenter.info/fanart/seriesyonkis.jpg"))
    for letra in ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']:
        itemlist.append( Item(channel=__channel__, action="letracompleta" , title=letra , url="http://www.seriesyonkis.com/lista-de-series/"+letra,fanart="http://pelisalacarta.mimediacenter.info/fanart/seriesyonkis.jpg"))

    return itemlist

def letracompleta(item):
    logger.info("[seriesyonkis.py] letracompleta()")
    itemlist = []

    items_programas = series(item)

    salir = False
    while not salir:

        # Saca la primera URL de la siguiente página
        primer_item = items_programas[ 0 ]

        # Saca la última URL de la siguiente página
        ultimo_item = items_programas[ len(items_programas)-1 ]

        # Páginas intermedias
        if ultimo_item.action=="series":
            # Quita el primer elemento de "Página siguiente" 
            primer_item = items_programas.pop(0)

            # Quita el último elemento de "Página siguiente" 
            ultimo_item = items_programas.pop()

            # Añade las series de la página a la lista completa
            itemlist.extend( items_programas )

            # Carga la sigiuente página
            items_programas = series(ultimo_item)

        # Última página
        else:
            # Añade a la lista completa y sale
            itemlist.extend( items_programas )
            salir = True

    return itemlist
Estaba obsesionado con aislar la letra cuando no hacía falta, ya me podía romper la cabeza :)
Ahora toca seguir leyendo.

un salduo

PD: No sabía muy bien dónde colocar el hilo, si se puede mover mejor moverlo

Re: Función Listado completo

Publicado: 04 Mar 2014, 20:26
por jesus
Movido :)

Re: Función Listado completo

Publicado: 04 Mar 2014, 23:01
por robalo
Gracias Jesus.

la función también me vale para shurweb :) Con la raspberry desde el sofá con el mando me es mucho más comodo y rápido encontrar la serie, prefiero espero esperar un poco a que se carguen todas y no tener que ir dando página siguiente.

De nuevo gracias
un saludo

Re: Función Listado completo

Publicado: 05 Mar 2014, 20:23
por jesus
Si subes las dos versiones de los canales con tus modificaciones, los puedo incluir en la versión de esta semana ;)

Re: Función Listado completo

Publicado: 05 Mar 2014, 21:39
por robalo
Cuanto honor!! :)

Me haces un gran favor, asi no tengo que andar modificando cada nueva actualización :)

Es una pena que seriesyonkis en estos momentos no se vean los videos, aún tengo espereza en que vuelva a funcionar.

Gracias Jesús

Un saludo

Re: Función Listado completo

Publicado: 05 Mar 2014, 21:56
por robalo
Acabo de darme cuenta que en el "Listado completo" de la función "conpleto" de seriesyonkis.py hay una línea que se puede comentar o dejar no ceo que importe mucho:

Código: Seleccionar todo

        # Letra del conjunto de items
        itemlist.append(item_letra)
Crea un item con al principio de cada grupo que apunta a las series de esa letra.
Se me olvidó quitarla. Había pensado poner en ese sitio algún separador con la letra cambiando el fondo y el color de la letra para que quedara más mono :) pero como no vi la forma de hacerlo se quedó en tareas pendientes :)

un saludo

Re: Función Listado completo

Publicado: 06 Mar 2014, 23:50
por jesus
Bueno, seriesyonkis creo que de momento no lo actualizaremos :lol:

El cambio en shurweb sí que irá en la próxima versión.