Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
#!/usr/bin/python # -*- coding: utf-8 -*- # fede diaz aka nordri (nordri en gmail dot com) # Programilla que me avisa de versiones nuevas en los documentos de Gentoo. import os from xml.dom.minidom import parse mens = open("/tmp/mens.txt", "w") mens.write("Resumen de las versiones de la documentación\n") # Actualizamos el repositorio cvs = os.system("cd /home/nordri/Cosas/linux/docs &&" \ "cvs -d :pserver:anonymous@anoncvs.gentoo.org/var/cvsroot co gentoo") # Recibe una lista de nodos del árbol xml y devuelve el texto del campo. def getText(nodelist): rc = "" for node in nodelist: if node.nodeType == node.TEXT_NODE: rc = rc + node.data return rc # Controla si hay nuevas versiones nuevasVersiones = 0 CVSPATH = '/home/nordri/Cosas/linux/docs/gentoo/xml/htdocs/doc' if cvs == 0: # Si la sincronización ha sido correcta # Versiones de xfce vxfce_en = getText(((parse(CVSPATH + '/en/xfce-config.xml')).getElementsByTagName('version'))[0].childNodes) vxfce_es = getText(((parse(CVSPATH + '/es/xfce-config.xml')).getElementsByTagName('version'))[0].childNodes) if vxfce_en != vxfce_es: mens.write("Las versiones de xfce no coinciden" + vxfce_en, vxfce_es) nuevasVersiones = 1 # Versiones de gcc vgcc_en = getText(((parse(CVSPATH + '/en/gcc-optimization.xml')).getElementsByTagName('version'))[0].childNodes) vgcc_es = getText(((parse(CVSPATH + '/es/gcc-optimization.xml')).getElementsByTagName('version'))[0].childNodes) if vgcc_en != vgcc_es: mens.write("Las versiones de gcc no coinciden" + vgcc_en, vgcc_es) nuevasVersiones = 1 # Versiones de Bluetooth vblue_en = getText(((parse(CVSPATH + '/en/bluetooth-guide.xml')).getElementsByTagName('version'))[0].childNodes) vblue_es = getText(((parse(CVSPATH + '/es/bluetooth-guide.xml')).getElementsByTagName('version'))[0].childNodes) if vblue_en != vblue_es: mens.write("Las versiones de bluetooth no coinciden" + vblue_en, vblue_es) nuevasVersiones = 1 # Versiones de Xen vxen_en = getText(((parse(CVSPATH + '/en/xen-guide.xml')).getElementsByTagName('version'))[0].childNodes) vxen_es = getText(((parse(CVSPATH + '/en/xen-guide.xml')).getElementsByTagName('version'))[0].childNodes) if vxen_en != vxen_es: mens.write("Las versiones de xen no coinciden" + vxen_en, vxen_es) nuevasVersiones = 1 else: mens.write("Error de sincronización con el cvs. Se aborta la operacion") mens.close() # Enviamos un correo si hay versiones nuevas. if nuevasVersiones: os.system("cat /tmp/mens.txt | email -s \"Nuevas versiones de la documentacion\" nordri_gmail.com"
This paste will be private.
From the Design Piracy series on my blog: