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>
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
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 = '{season} - {n:02} - {chapter}'
FILENAME_TEMPLATE = '{title}: {season} - {n:02} - {chapter}'
NO_TITLE_
def get_filename( chapter) : u'*{}*' .format( chapter) )[0]
try:
return glob.glob(
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'listaEpisodio s'}): ul.findAll( u'li')) :
filename = get_filename( chapter)
# avoid title
template = NO_TITLE_ FILENAME_ TEMPLATE
else:
template = FILENAME_TEMPLATE
season = ul.h2.text
for n, li in enumerate(
chapter = li.h3.text
if filename is not None:
if title == season: