Poner /etc bajo control de versiones …

… es bien sencillo con etckeeper. Y en howtoforge nos dan más información:

http://howtoforge.com/using-version-control-for-your-etc-directory-with-etckeeper-and-bazaar-on-debian-squeeze

En resumen:

  1. Instalar con APT
  2. Editar la conf y decididir que motor VCS queremos
  3. Hacer un etckeeper init
  4. Opcionalmente hacer un etckeeper init

Y a jugarrrrrrrr!

pygtk: como pedir confirmación al usuario

A veces en una aplicación PyGT necesitamos pedir al usuario que nos confirme una acción, con esta pequeña función tendremos la solución. Se le pasa como parámetros el texto a monstrar y el título de la ventana.

def pedir_confirmacion(texto,titulo):
    dialog = gtk.MessageDialog(None, gtk.DIALOG_MODAL,gtk.MESSAGE_INFO, gtk.BUTTONS_YES_NO,texto)
    dialog.set_title(titulo)
    response = dialog.run()
    dialog.destroy()
    if response == gtk.RESPONSE_YES:
        print "A respondido que sí!"
        return True
    else:
        print "A respondido que no!"
        return False

Vía ubuntu forums

Control del flujo tipo switch en python

Ieup,

Otra pildorita de Python. Siempre echaba de menos una orden de control del flujo del tipo switch de PHP. Hasta ahora siempre hacía un sucio hack con if-s anidados (si asi de WTF es uno :P). Pero hoy, cansado ya y con necesidad urgente he rebuscado en san google y he encontrado que se puede hacer tan sencillo como mapeandola funciones a valores en un array. Sacado del blog de Simon Willson :

#Definimos las funciones
def alerta(texto):
        print "ALERTA: %s"%texto
def farsa(texto):
        print "FARSA: %s"%texto
#Definimos el array mapeador
case = {
    'a': alerta,
    'f': farsa
    }
variable='a'
print variable
case[variable]("lala")
print "Ahora cambiamos"
variable='f'
print variable
case[variable]("lele")