Librería para Liberateca [python]

En Freesoftwareando han publicado un script_que_usa_el_API_de_liberateca, y ya sabeis como son estas cosas, "culo veo..."

No, ahora en serio, el hecho de que tal compendio de cultura disponga de un_API accesible para cualquiera da mucho juego para trastear con los datos ( estadísticas sobre los géneros de series, número de temporadas o lo que sea ), cuando se lanzó el proyecto solo se podía acceder vía web y no fué hasta leer el post que me enteré de que ya habían desarrollado un API, así que ahí va una pequeña librería para manejarlo ( necesita una cuenta, en la web se pueden pedir invitaciones o si dejais el mail, os mando una ).

La "librería" es esta [ http://pastebin.com/caTNLsGS ]

Nota: La conversión (en unroll) confía en que el servidor no es malintencionado, en caso contrario podría inyectar código, a ver si después escribo algo que parsee eso como root manda...

Para usarla hay que importarlo y crear una variable de tipo liberateca, pasándole el user y password. l = liberateca("user", "password")

Después se pueden usar estas funciones:     getSerieList(): Devuelve una lista de diccionarios, cada uno con los elementos name (nombre de la serie)  y url (donde se puede encontrar)

getId( url ): Toma la url de una serie y retorna su Id

getSerie( id ): Muestra la información de una serie a partir de su Id, como un  diccionario con listas y diccionarios dentro

getSerieT( id ): Devuelve un diccionario con un elemento seasons que contiene una lista de las url de las temporadas ( se puede extraer el número de temporada con getId.

getSerieT( id, número de temporada ): Muestra los capítulos de la temporada en cuestión de una serie, como una lista de diccionarios conn los elementos url, air_date (cuando se estrenó), episode (número de episodio), y title.

getSerieEp( id, número de temporada, número de capítulo ): Extrae los datos de un capítulo de una temporada de una serie, como un diccionario con diccionarios:

season: Temporada.         air_date: Fecha de estreno         episode: Número de episodio         links: Array de Enlaces, cada uno como un diccionario, así:

url: Dirección             audio: Idioma de audio             subtitle: Idioma de los subtítulos

title: Título

Se usan esos tipos porque es la estructura que provee el servidor, un print de todo el arbol, de ahí que la función que interpreta los datos, unroll, realmente lo que hace es asignar todo eso a una variable controlada, el problema de poder inyectar código viene por ahí :S.

Nos vemos

untagged

One liners( 7 ): listas de descarga » « Comienzo del desarrollo de un plugin de Liberateca para Moovida