Página 4 de 4

Re: No actualiza biblioteca

Publicado: 07 Oct 2016, 23:07
por super_berny
robalo escribió: Un bug que aparece con series.json se come el marrón HDFull
:lol: :lol: :lol:
Si no te gusta el termino BUG podemos llamarlo como quieras: error, fallo, marron, problema, etc...

Pero aparezca cuando aparezca y te pongas como te pongas lo que es indiscutible es que:

Código: Seleccionar todo

     [library_service.main] Error al obtener los episodios de: <Nombre de la serie>
 An exception of type UnboundLocalError occured. Arguments:
                    ("local variable 'id' referenced before assignment",)
....
es un error del programador por no haber inicializado la variable antes de usarla en:

Código: Seleccionar todo

    if id == "0":
        ## Se saca el id de la serie de la página cuando viene de listado_series
        id = scrapertools.get_match(data, "<script>var sid = '([^']+)';</script>")
        url_targets = url_targets.replace('###0','###' + id)
Ya se que normalmente item.url incluyen "###" (he visto como las escribe), pero en algun caso debio pensar q no se incluirian cuando puso el condicional en:

Código: Seleccionar todo

    if "###" in item.url:
        id = item.url.split("###")[1].split(";")[0]
Si ese condicional no existiera yo seria el primero en darte la razon y decirte q el error es de la biblioteca q no forma bien la url, pero tal y como esta el codigo no me bajo del burro: Es un BUG del canal HDfull

Lo que no acabo de entender es a donde nos llevan estos debates esteriles que con cierta frecuencia mantenemos tu y yo.

Re: No actualiza biblioteca

Publicado: 08 Oct 2016, 08:41
por robalo
Te resumo

Entiendo que quieras vendérselo al resto de usuarios que intervienen en el foro, pero a mí ???? :lol: :lol: :lol:

library.py función add_serie_to_library:
Antes de la línea

Código: Seleccionar todo

    # Obtiene el listado desde el que se llamó
    itemlist = getattr(channel, action)(item)
item.url = url###id;tipo (Formato correcto en una url para hdfull.episodios)
Duespués de la línea:
item.url = url (Formato incorrecto en una url para hdfull.episodios)

Ese es el bug lo vendas como lo vendas.

Solución rápida:

Código: Seleccionar todo

    # Se salva la url original
    url = item.url
    # Obtiene el listado desde el que se llamó
    itemlist = getattr(channel, action)(item)
    # Recupera la url original
    item.url = url
Así de fácil. Y me repito, el bug o cagada, llámalo como más te guste, se entederá igual, aparece cuando se empezó a usar series.json. Para la gente normal es de cajón, lo es para mí y de normal tengo poco :lol: :lol: :lol: :lol: :lol:

Que bien me lo paso con vosotros :lol: :lol: :lol: :lol:

Re: No actualiza biblioteca

Publicado: 08 Oct 2016, 10:50
por SeiTaN
A ver, si hay un bug o lo que sea por lo que se creo a partir de series.json, es culpa MIA, y no pasa nada, no será la primera vez ni la última que la lio, quien no toca no rompe nunca nada.

Respecto a las formas, no soy nadie para corregir a los demás, pero si intentamos medir el tono de lo que escribimos, no se crearían polémicas innecesarias, de si tu me has dicho yo te he dicho...a mi no me engañas, me rio de lo que me dices, no me bajo del burro, no es fallo mío es fallo tuyo...

A falta de probar el codigo que has puesto robalo, no entiendo por que hay que guardar item.url para luego re-asignarla (llevo relativamente poco en python y lo mismo tienes más experiencia programando).

Código: Seleccionar todo

itemlist = getattr(channel, item.action)(item)
Es lo mismo que llamar al metodo "episodios(item):" en este caso es , si item.action="episodios" y el canal es "hdfull" estamos llamando al metodo que queremos para actualizar la serie.

Explicado lo evidente, si desde el metodo "add_serie_to_library" no se está modificando el elemento "item", ¿cómo es que se pierde el valor que está dentro del campo url?

Yo en un principio pensaba que era lo que decia super_berny, que la variable no estaba inicializada y por eso daba problemas, pero te veo tan convencido que lo mismo se me ha pasado algo, y me gustaría saber que para evitar meter la pata más de lo normal.

Por favor, ¿podrías tomarte 5 min en explicarme el por qué?

Gracias.

Re: No actualiza biblioteca

Publicado: 08 Oct 2016, 11:13
por super_berny
Veamos dejame mirar el calendario....pues no, hoy no es el dia de los inocentes :o
robalo escribió:Entiendo que quieras vendérselo al resto de usuarios que intervienen en el foro, pero a mí ????
No vendo nada a nadie, todo mi codigo es free sotfware y se puede modificar libremente. ¿hdfull.py no? Parece q te moleste q te toquen los codigos.
robalo escribió:Ese es el bug lo vendas como lo vendas.
Estas seguro? Entonces ¿quien esta modificando item.url? ya te lo digo yo

Código: Seleccionar todo

itemlist = getattr(channel, action)(item)
¿y que hace exactamente esa linea? llama a hdfull.episodios(item) Oh!!! resulta q el quen modifica la url es hdfull!!!
robalo escribió:Así de fácil.
Conocia la programacion imperativa, la OO, la dirigida a eventos y algunas mas, pero contigo estoy aprendiendo la orientada a excepciones (y no me refiero a la clase Exceptions), sino al paradigma de programacion q va añadiendo parches para tratar cada uno de los caso particulares q va encontrando (ya discutimos de esto en otro hilo) en lugar de ir al foco del problema e intentar normalizar las funciones comunes.
El foco del problema en este caso es la no inicializacion de una variable.

Te podria dar mas argumentos, pero mucho me temo q caerian en saco roto.

Pido disculpas al resto de foreros q entraron aqui esperando encontrar una solucion a su problema y han asistido a un debate q a mi, ya no me divierte.

Re: No actualiza biblioteca

Publicado: 08 Oct 2016, 16:11
por super_berny
Hemos publicado una nueva beta q creemos puede solucionar estos problemas:

Version beta de pelisalacarta 4.1.3

Nota: No estoy haciendo multi-post simplemente intento unificar todos los temas en un unico hilo :lol: :lol:

Re: No actualiza biblioteca

Publicado: 08 Oct 2016, 17:52
por robalo
Soy más sencillo que todo eso :lol: :lol: :lol: más risitas para que cada cual la interprete al gusto y si que quiere que parezca una peli de antena3 adelante :)

Resumo más
robalo escribió:library.py función add_serie_to_library:
Antes de la línea:
# Obtiene el listado desde el que se llamó
itemlist = getattr(channel, action)(item)
item.url = url###id;tipo (Formato correcto en una url para hdfull.episodios)

Duespués de la línea:
# Obtiene el listado desde el que se llamó
itemlist = getattr(channel, action)(item)
item.url = url (Formato incorrecto en una url para hdfull.episodios)