lunes, 15 de diciembre de 2008

Olvidaré en 10 minutos como tratar las excepciones en Python

He aprendido que para hacer un buen control de la ejecución de un script, no debemos abusar del genérico try/except (aunque ya es un logro realmente cubrir todos los puntos de fallo con un control de excepción).
Si se quiere hacer un seguimiento riguroso de las excepciones, aquí hay un documento en español muy completo:
http://mundogeek.net/archivos/2008/03/19/python-excepciones/

viernes, 12 de diciembre de 2008

Olvidaré en 10 minutos qué programa me gusta usar para pegar .AVIs

Cuando tienes una película en AVI pero está dividida en dos ficheros, hay una manera muy sencilla de pegarlos. Si bscar por Internet te darán complicados métodos usando TMPGenc y otras herramientas, pero hay una especialmente sencilla y efectiva: ProjectDivX (nombre completo de la última versión que he usado: ProjectDivX15Unicode).

Te permite hacer otras cosas, pero lo que nos interesa aquí es su "Merge AVIs". Simplemente selecciona las partes a unir y en poco minutos (es realmente rápido) tendrás la película en un único fichero. Fantástico.

jueves, 11 de diciembre de 2008

Olvidaré en 10 minutos cómo acceder a una página con usuario y password desde Python

Para poder leer una página que requiera auteticación, aquí hay un enlace que deja muy claro cómo hacerlo: http://code.activestate.com/recipes/305288/



Básicamente, se trata de hacer uso de la librería urlib2:



import urllib2

theurl = 'http://www.lapagina.es'

username = r'dedom\US'

password = 'XXXX'



passman = urllib2.HTTPPasswordMgrWithDefaultRealm()

passman.add_password(None, theurl, username, password)

authhandler = urllib2.HTTPBasicAuthHandler(passman)



opener = urllib2.build_opener(authhandler)

urllib2.install_opener(opener)

fd=urllib2.urlopen(theurl)



Si lo que hace falata es usar Cookies:

http://mundogeek.net/archivos/2008/04/15/interactuar-con-webs-en-python/

import urllib2, cookielib

cookie_j = cookielib.CookieJar()
cookie_h = urllib2.HTTPCookieProcessor(cookie_j)

opener = urllib2.build_opener(cookie_h)
print "autenticando"
opener.open(theURL0)
opener.open(theURL1)
print "leyendo informacion de niveles"
fd=opener.open(theURL2)
texto=fd.read()

#nos queda un file descriptor sobre el que hacer read en fd (!!)

Otra web de esto:

http://www.voidspace.org.uk/python/articles/cookielib.shtml


Otra cosa interesante: un manual con ejemplos de la librería urllib2. Lo he utilizado, por ejemplo, para capturar los errores al tratar de comprobar el estado de alguna página:

http://www.voidspace.org.uk/python/articles/urllib2.shtml#urlerror

sábado, 6 de diciembre de 2008

Olvidaré en 10 minutos dos buenos programas para "ripear" CDs de audio

He encontrado dos programas, ambos gratuitos, que tienen muy buena pinta para extraer audio digital de los CDs de Audio. Una de las cosas más interesantes que tienen es la posibilidad de "ripear" CDs con algún sector dañado. Ideal para recuperar viejos CDs de los que se han ido estropeando con el tiempo (¿por qué nadie nos contó hace 8 años que comprando los CDs más baratos que había nuestras coleciones de CDs no nos durarían más que unos años?)

Si me tuviera que quedar con uno, parece qu el más completo es el segundo.

Así, una vez que me pase la mañana "ripeando" mis viejos CDs, podré olvidarme a los 10 minutos de ellos otra vez.

Olvidaré en 10 minutos cómo comprobar si un fichero de Windows es de solo lectura en Python

En esta entrada del blog dan 3 formas distintas de comprobar y cambiar el estado de sólo lectura de un fichero en Windows para programación en Python:

Read-only Windows files with Python

Está probado (al menos la primera opción) y lo he usado para el proyecto de exportación diaria a MD, donde me podía encontrar con ficheros de sólo lectura en la carpeta de spool, dando error al borrar y siendo enviada cada vez que se volvía a explorar dicha carpeta

Propósito del Blog

Como bien dice su título, trataré de ir anotando las cosas que me parezcan de interés (enlaces, referencias, software útil o lo que sea). ¿Por qué? Pues porque es una práctica muy habitual en mi encontrar cosas que me parecen fantásticas que nunca jamás soy capaz de volver a localizar (sí, muchas veces ni me molesto en ponerlas en Mis favoritos porque siempre me ha parecido muy incómodo acumular enlaces de manera ordenada ahí). A veces serán entradas que tendrán solo valor para mis proyectos personales o de trabajo, pero otras podrán ser de interés para el público en general. O no.
Espero que con este Blog me anime a apuntar con un poco de detalle lo que voy encontrando y me pueda servir de referencia ordenada a todas esas cosas que vi una vez por Internet pero que se perdieron para siempre. Y, de paso, se a alguien le puede valer alguna de estas referencias, pues mejor que mejor.
Claro, que siempre estará el riesgo de olvidar en 10 minutos que tengo un blog para hacer esto.