separar el nombre de la serie del nombre del capítulo

Bug #1293273 reported by Manuel Kaufmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
encuentro
Fix Released
High
Facundo Batista

Bug Description

Por ejemplo, con la serie "Encuentro en el estudio" pasa que el nombre final del archivo es: "Encuentro en el estudio - Fito Paez". Me parece que sería mejor que cree una carpeta que se llame "Encuentro en el estudio" y adentro un nombre de archivo "Fito Paez" en lo posible con el nro de episodio.

Relacionado con​ (#1293270)

Esto vale para las columnas de la lista de la izquiera en el programa. Estaría bueno que "Encuentro en el estudio" no esté mezclado con el nombre del episodio.

Tags: feature

Related branches

Revision history for this message
Manuel Kaufmann (humitos) wrote :

Bueno, me hice un script para manejar esto "mientras discutimos" como implementarlo en Encuentro definitivamente. Se puede usar como base para empezar a discutir :)

Ejemplo de una llamada para "Oficios: curso de huerta" dónde el nombre del programa es igual al nombre de la temporada (en ese caso, se omite uno)

[11:37] (206) humitos: Serie> rename-encuentro-videos.py http://www.encuentro.gov.ar/sitios/encuentro/Programas/ver?rec_id=50496
Oficios: curso de huerta - 03 - La siembra, primera parte
Oficios: curso de huerta - 04 - La siembra, segunda parte
Oficios: curso de huerta - 05 - Cultivos
Oficios: curso de huerta - 08 - Control de plagas (segunda parte)
Oficios: curso de huerta - 10 - Cosecha
[11:39] (206) humitos: Serie>

== rename-encuentro-videos.py ==

#!/usr/bin/env python

import os
import sys
import glob
import urllib

from BeautifulSoup import BeautifulSoup

URL = sys.argv[1]
FILENAME_TEMPLATE = '{title}: {season} - {n:02} - {chapter}'
NO_TITLE_FILENAME_TEMPLATE = '{season} - {n:02} - {chapter}'

def get_filename(chapter):
    try:
        return glob.glob(u'*{}*'.format(chapter))[0]
    except IndexError:
        return None

if __name__ == '__main__':

    html = urllib.urlopen(URL).read()
    soup = BeautifulSoup(html)

    title = soup.find('h1', attrs={u'id': 'programa'}).text

    for ul in soup.findAll(u'ul', attrs={u'id': u'listaEpisodios'}):
        season = ul.h2.text
        for n, li in enumerate(ul.findAll(u'li')):
            chapter = li.h3.text
            filename = get_filename(chapter)
            if filename is not None:
                if title == season:
                    # avoid title
                    template = NO_TITLE_FILENAME_TEMPLATE
                else:
                    template = FILENAME_TEMPLATE

                new_filename = template\
                    .format(**{
                        'title': title,
                        'season': season,
                        'n': n,
                        'chapter': chapter,
                    })
                print new_filename

Revision history for this message
Facundo Batista (facundo) wrote :

Estuve pensando en cómo agregarle la info de las temporadas, para que por un lado le sirva de información al usuario, y por otro lado para que cuando se graban los videos a disco no se pisen.

Una alternativa es agregar una columna con el número de temporada, pero me parece que no tiene sentido... por un lado, esa columna sola es al cuete (no tiene sentido ordenar todo por ese número, por ejemplo), y por el otro complejiza todo el cambio (hay que toquetear la GUI, hay que migrar los datos que ya tenga el usuario, hay que cambiar mil cosas).

Otra alternativa, que es mucho mucho más simple, es la siguiente: incorporar el número de temporada en el nombre del programa. Entonces, de llamarse (ponele) "Encuentro en el Estudio", pasaría a llamarse "Encuentro en el Estudio II", o "Encuentro en el Estudio 02" o "Encuentro en el Estudio t.02", como nos guste más.

Entonces, más allá de prestar atención a qué pasa al actualizar el contenido (creo que está todo bien), no hay que hacer nada con los datos del usuario.

Eso sí, en la parte de "servers" hay que toquetear los tres backends para que pasen a escribir los nombres del programa con el agregado de la temporada.

¿Qué te parece? ¿Te le animás?

Gracias, abrazo!

Changed in encuentro:
importance: Undecided → High
status: New → In Progress
assignee: nobody → Manuel Kaufmann (humitos)
Revision history for this message
Facundo Batista (facundo) wrote :

Esto lo tenemos que charlar más... está la complejidad de que no son todas series, entonces hay una asimetría que tenemos que ver cómo solucionar.

Quizás en la metadata mantener "serie y capítulo" separados (y si no es una serie, lo manejamos), en la GUI mostrar igual un campo, y a la hora de bajar el video a disco en el caso de la serie armar un directorio extra y listo.

Charlemos.

Changed in encuentro:
assignee: Manuel Kaufmann (humitos) → Facundo Batista (facundo)
Changed in encuentro:
status: In Progress → Fix Committed
Changed in encuentro:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.