En python.es surgió la idea de crear un directorio de blogs sobre python.
No había compartido nunca el enlace enl a lista, pero bueno... la verdad es que ya tengo unos cuantos contenidos en python que pueden ser interesantes.
El link irá a parar a directorioprogramacion.blogspot.com.
Habrá que echarle un ojo a ver como crece su contenido.. .
sábado, agosto 30, 2008
jueves, agosto 28, 2008
lxml
Ya he mentado en algun post anterior este parser de xml/html, pero no había tenido ocasión de probarlo.
En el proyecto ahora tenemos que manejar unos xml y hasta la fecha habíamos usado libxml2... Era el momento de cambiar... y la verdad es que está muy bien. Y bien documentado.
Ahí van unos enlaces:
En el proyecto ahora tenemos que manejar unos xml y hasta la fecha habíamos usado libxml2... Era el momento de cambiar... y la verdad es que está muy bien. Y bien documentado.
Ahí van unos enlaces:
jueves, agosto 21, 2008
Shutdown programado en windows
Hoy he aprendido un comando superutil:
shutdown -s -t [tiempo]
Te sirve para programar un shutdown en windows. Es muy util, imaginaros que habeis dejado descargandose algo y os quereis ir a la cama...
Con /? podeis ver el resto de opciones.
shutdown -s -t [tiempo]
Te sirve para programar un shutdown en windows. Es muy util, imaginaros que habeis dejado descargandose algo y os quereis ir a la cama...
Con /? podeis ver el resto de opciones.
HTTrack
Hacía mucho que no usaba un Web Spider (o crawler). Y aprovechando que para el proyecto estamos usado HTTrack, lo he probado para un uso personal.
La verdad... esta muy bien. El único pero que le hemos visto es que no puedes obtener un mapeo entre las direcciones web, y las locales.
Se puede usar tanto para Linux, como para Windows.
Y ya lo que me ha sorprendido es que hay disponible una librería python, para usarlo desde python: httrack-py.
En linux, recordar que podemos usar para para los mismo wget.
En la wikipedia, podeis encontrar muchos mas crawlers.
La verdad... esta muy bien. El único pero que le hemos visto es que no puedes obtener un mapeo entre las direcciones web, y las locales.
Se puede usar tanto para Linux, como para Windows.
Y ya lo que me ha sorprendido es que hay disponible una librería python, para usarlo desde python: httrack-py.
En linux, recordar que podemos usar para para los mismo wget.
En la wikipedia, podeis encontrar muchos mas crawlers.
martes, agosto 19, 2008
ConfigParser
Modulo muy útil para manejar ficheros de configuración en formato clave/valor y con secciones.
Vamos... al estilo de los .ini de windows.
Dentro del módulo se definen 3 clases:
Yo hasta la fecha había usado ConfigParser, pero se te puede quedar corta...
El comportamiento de los métodos get() es que si una clave no existe te da una Excepción.
Nosotros hemos ampliado el interfaz con una variante de los métodos para que si una clave no existe, te devuelva el valor que le pasas por defecto. Vamos... similar que lo que puedes hacer desde el constructor, pero a nivel de método.
Lo que si que soporta son 'interpolaciones'. Es decir, el poder usar valores de variables como valores de otras variables dentro del mismo fichero de configuración.
Otra ampliación que le hemos metido es el poder hacer sustituciones en los valores a partir de variables del entorno. Para esto usamos el formato ${varname}. La verdad... Se podría haber hecho con las interpolaciones, usando el argumento opcional 'vars'.
SafeConfigParser simplemente modifica el método ser() para garantizar que el valor pasado sea un string.
Vamos... al estilo de los .ini de windows.
Dentro del módulo se definen 3 clases:
- RawConfigParser
- ConfigParser
- SaveConfigParser
Yo hasta la fecha había usado ConfigParser, pero se te puede quedar corta...
El comportamiento de los métodos get() es que si una clave no existe te da una Excepción.
Nosotros hemos ampliado el interfaz con una variante de los métodos para que si una clave no existe, te devuelva el valor que le pasas por defecto. Vamos... similar que lo que puedes hacer desde el constructor, pero a nivel de método.
Lo que si que soporta son 'interpolaciones'. Es decir, el poder usar valores de variables como valores de otras variables dentro del mismo fichero de configuración.
Otra ampliación que le hemos metido es el poder hacer sustituciones en los valores a partir de variables del entorno. Para esto usamos el formato ${varname}. La verdad... Se podría haber hecho con las interpolaciones, usando el argumento opcional 'vars'.
SafeConfigParser simplemente modifica el método ser() para garantizar que el valor pasado sea un string.
jueves, agosto 14, 2008
Chuletilla para subversion
Estaba ya usando desde hacía tiempo subversion, pero la verdad... tampoco había leido demasiado sobre el mismo...
He ido tirando con mis conocimientos (básicos) sobre CVS. Pero notaba mis carestías, por lo que me dispuse a leer los capítulos 1,2 y 3 del siguiente libro. Se lo recomiendo a cualquier que esté trabajando con subversión; o que vaya a trabajar... Se lee rápido.
A continuación una chuletilla de cosas extraidas del susodicho..
Una vez hecho el checkout, el ciclo de trabajo típico es como sigue:
He ido tirando con mis conocimientos (básicos) sobre CVS. Pero notaba mis carestías, por lo que me dispuse a leer los capítulos 1,2 y 3 del siguiente libro. Se lo recomiendo a cualquier que esté trabajando con subversión; o que vaya a trabajar... Se lee rápido.
A continuación una chuletilla de cosas extraidas del susodicho..
Una vez hecho el checkout, el ciclo de trabajo típico es como sigue:
- Update your working copy
- svn update
- Make changes
- svn add
- svn delete
- svn copy
- svn move
- Examine your changes (estos comandos se pueden usar sin conectividad con el repositorio)
- svn status
- svn diff
- Se puede usar un programa externo
- svn revert
- Merge others' changes
- svn merge
- svn resolved
- elimina los ficheros temporales, cuando hay un conflicto
- Commit your changes
- svn commit
- svn log
- svn diff
- svn cat
- svn list
- svn import
- svn cleanup
- Revisiones
- Subversion lets you refer to these revisions by number, keyword, or date.
- Con el date, si queremos sacar lo mas cercano a una fecha (incluyendola) hay que mete el día posterior
- Las revisiones no van asociadas a archivo. Es decir si haces un checkout o un update de una revisión, te va a sacar todo lo que haya en esa rama con esa revisión (lo que hay en el HEAD, es decir lo mas actual con respecto a la revisión solicitada).
- Se pueden hacer copias con 'history'
- Los archivos pueden tener propiedades asociadas. Al ejecutar el comando se puede pedir que se ignoren.
- Y por supuesto hay muchos comandos mas... Todo bien cubierto en el documento enlazado...
- svn status --verbose --> saca info de todo, aunque no haya cambiado
- svn status --show-updates --verbose --> este ya contacta repositorio
- svn status -u -v --> la versión corta
- svn status -vu | grep "*" --> nos indica que no tenemos actualizado con respecto el repositorio
viernes, agosto 08, 2008
Web Frameworks
Suscribirse a:
Comentarios (Atom)