radios en internet - parte 2

Después del rotundo éxito del anterior script que maneja las url de las radios on line que escucho habitualmente, vamos con una actualización.

Resulta que un par de días atrás me entero que Dolina va después de las 12 de la noche por radio 10. Cuando era un purrete y asistía a la escuela secundaria, lo escuchaba seguido, claro que me quedaba despierto hasta las 2 o 3 de la mañana. Ahora me acuesto un pooc más temprano y reconozco que Radio10 no es la radio de mi preferencia… pero bueno, estando Dolina, con el Coco Zilli y Gillespi, la cosa cambia.

Acá viene lo interesante. Resulta que una noche dejé corriendo la radio cuando me iba a dormir y despierté a las 4 am escuchando un vomitivo programa de trasnoche. Si hay algo peor que los programas de madrugada, son los progrmas de madrugada de Radio 10.

Definitivamente necesitaba un temporizador para que apague la radio pasada cierta cantidad de tiempo…

Un primer intento fue usar threadings, largando un temporizador junto con la ejecución del mplayer y cortando la ejecución de este último al cabo de cierto tiempo. Tuvo un relativo éxito, pero no el suficiente. El segundo intento fue más efectivo: tomar unas cervezas con Bono y Nico. Es muy interesante ver como produce la gente cuando está conforme con las condiciones laborales…

La solución no es la ideal, porque usan funciones específicas del SO y se pierdie portabilidad. Igualmente se gana muhco en comodidad, ya que no tengo que apagar la radio a la nohce, cunado termina el programa!

Ahora simplemente le paso como parámetro el nombre de la emisora y una cantidad de minutos para el apagado automático.

Este es el código del pequeño script:

radios.py

#!/usr/bin/env python
# -*- coding: latin-1 -*-
"""recibe una radio y ejecuta mplayer con la url correspondiente, y por una cantidad de minutos  opcionales"""

import subprocess
import time
import sys
import os
radios = {
        "mitre":      "mms://streammitre.uigc.net/mitrevivo",
        "delplata":   "mms://delplata.telecomdatacenter.com.ar/delplata",
        "lt10":       "http://200.73.175.118:8000/listen.pls",
        "rockandpop": "mms://200.59.146.10/rockandpop-ba",
        "radio10":    "mms://200.43.193.143/radio10",
        "metro":      "mms://200.59.146.10/radiometro-ba"}

try:
        stream = radios[sys.argv[1]]
        try:
                timer = float(sys.argv[2]) * 60
        except:
                timer = float(60*60*6)
except:
        print "Error en la cadena de entrada. Usar . Donde radio puede ser: %s y temporizador una
        cantidad de minutos para que se apague. Si no se especifica, el temporizador se setea en 6 horas.
        Por qué en 6?. Pues porque me place!" % (radios.keys(),)
        sys.exit()

s = subprocess.Popen(["/usr/bin/mplayer",stream], stdin=sys.stdin)
time.sleep(timer)
os.kill(s.pid,2)

Como vemos, el html no respeta para nada el identado, y como no tengo ganas de retocar el css por 20 líneas de código, lo subí al repositorio de google. Se puede ver desde aca: http://code.google.com/p/pyradios/

Buscar temas relacionados

Búsqueda personalizada

5 Comments

JuanjoJuly 7th, 2008 at 12:39 am

TIP: podés encerrar tu código en etiquetas pre para que respete el idenado.

JuanjoJuly 7th, 2008 at 12:40 am

Buen script! Ya lo estoy usando.

plgomezJuly 7th, 2008 at 7:13 pm

JJConti!
Siempre son bienvenidos tus comentarios. Veo como etiquetar el próximo código…

Saludos

MAbeeTTJuly 9th, 2008 at 12:24 am

podés usar etiquetas ‘pre’ para que muestre el ćodigo tal cual está.
ejemplo:
Este es código insertado
(3 espacios)
(salto de línea)

Mal.bAugust 7th, 2008 at 4:36 pm

Y lo mas importante… realmente dan Dolina por Radio 10 a esa hora??? :-P

Leave a comment

Your comment