Página 1 de 1

Carpetas individuales para las películas

Publicado: 02 Sep 2015, 00:51
por kong357
Buenas noches a todos,

al añadir series a la biblioteca, éstas se añaden cada una en su carpeta pero al añadir películas sólo crea el archivo .strm, todos juntos, sin carpetas, así que investigando, con el método de "prueba y error" y copiando algo de código de otra parte del archivo (no tengo ni idea de python ni de programación :( ), he modificado el library.py para que, al agregar películas a la biblioteca de Kodi, se cree, automáticamente, una carpeta con el nombre de la película y dentro de la misma el archivo .strm.
Esto viene bien para el tvtunnes, el fanart, etc., al menos a mi me resultan interesantes estos addons, por no mencionar que de esta manera tenemos la biblioteca algo más "ordenada" :P

Por otro lado, decir que no he conseguido que me limpie el nombre de la película, como sí hace pelisalacarta con las series, por lo que el nombre de la carpeta creada será igual al archivo o enlace que añadamos a la biblioteca, es decir, si lo que añadimos es un torrent con nombre, por ejemplo, "El Hobbit: La Desolación de Smaug [BDRemux 1080px][DTS 5.1 Spanish blablablabla][Newpct1][blablabla]", la carpeta tendrá ese mismo nombre. O si, por ejemplo, añadimos uno del tipo "Ver en allmyvideos [FullHD]" o lo que sea, se creará la carpeta con el nombre "Ver en allmyvideos [FullHD]" no con el de la película que cuelga de ese enlace. En este último caso es una putada ya que podrías perderte entre tanta carpeta "sin nombre" pero mis conocimientos no dan para más, lo siento T_T

Aún así, si a alguien le interesa, quiere probarlo o, incluso modificarlo y/o mejorarlo para conseguir que limpie el nombre y las carpetas sean mucho más claras, por favor, que lo haga (os pego el código que he modificado) O si alguien sabe cómo y/o qué modificar para que esto sea así, por favor que me lo diga y yo trataré de modificarlo ;)

Insisto, he conseguido modificarlo sin conocimientos de programación y seguramente, sobre código o haya maneras mejores de hacer lo mismo pero bueno, es mi granito de arena a un tema, el de las películas dentro de su correspondiente carpeta, que facilitaría el trabajo a muchos.

El código del library.py, la parte que he modificado/añadido:

Código: Seleccionar todo

 
...
    s = s.replace("ù","u")
    s = s.replace("ç","c")
    s = s.replace("Ç","C")
    s = s.replace("Ñ","n")
    s = s.replace("ñ","n")
    return s

def title_to_folder_name(title):
    logger.info("Serie="+title)
    Serie = elimina_tildes(title)
    logger.info("Serie="+Serie)
    Serie = string.translate(Serie,allchars,deletechars)
    logger.info("Serie="+Serie)
    return Serie
----------------------------Esta parte de abajo------------------------
def title_to_folder_name(titulo):
    logger.info("Título="+titulo)
    titulo = elimina_tildes(titulo)
    logger.info("Título="+titulo)
    titulo = string.translate(titulo,allchars,deletechars)
    logger.info("Título="+titulo)
    return titulo
---------------------------------Hasta aquí-------------------------------
def savelibrary(titulo="",url="",thumbnail="",server="",plot="",canal="",category="Cine",Serie="",verbose=True,accion="play_from_library",pedirnombre=True, subtitle="", extra=""):
    logger.info("[library.py] savelibrary titulo="+titulo+", url="+url+", server="+server+", canal="+canal+", category="+category+", serie="+Serie+", accion="+accion+", subtitle="+subtitle)

    if category != "Series":  #JUR - DEBUGIN INTERNO PARA 2.14
        category = "Cine"
        
    if category == "Cine":
---------------------------------Desde aquí-----------------------------
        if titulo == "": #Añadir comprobación de len>0 bien hecha
            logger.info('[library.py] savelibrary ERROR: intentando añadir una película y titulo=""')
            pathmovie = MOVIES_PATH
        else:
            #Eliminamos caracteres indeseados para archivos en el nombre de la serie
            titulo = title_to_folder_name(titulo)
            pathmovie = xbmc.translatePath( os.path.join( MOVIES_PATH, titulo ) )
        if not os.path.exists(pathmovie):
            logger.info("[library.py] savelibrary Creando directorio película:"+pathmovie)
            try:
                os.mkdir(pathmovie)
            except:
                os.mkdir(pathmovie)

        #Limpiamos el titulo para usarlo como fichero
        from  core import scrapertools
----------------------------------Hasta aquí----------------------------------------
        filename=string.translate(titulo,allchars,deletechars)+".strm"
        fullfilename = os.path.join(pathmovie,filename)
        
    elif category == "Series":
        if Serie == "": #Añadir comprobación de len>0 bien hecha
            logger.info('[library.py] savelibrary ERROR: intentando añadir una serie y serie=""')
            pathserie = SERIES_PATH
        else:
...
Espero que se vea :P

En fin, nada más...por ahora xD

Gracias, un saludo y bravo por el magnífico addon.