Archive for the ‘Software Libre’ Category

Traducir un archivo PO con Google Translator y Python

Posted on the febrero 22nd, 2010 under Código Experimental,General,Software Libre by

Mediante el uso de POedit, uno puedo crear traducciones para internacionalización sobre un archivo base, el cuál contiene las cadenas de texto de cierto software. Sin embargo si las cadenas son muchas, podemos hacer uso de alguna herramienta de traducción, y limitarnos a luego revisar y encontrar la traducción más adecuada para el contexto en el que se encuentra cada texto.

Particularmente necesitaba traducir un tema de WordPress que traía su propio archivo .po en inglés (en-EN.po). Hice un pequeño script en Python que hace uso de py-translate. Este módulo hace uso de la API de Google Translate. Quizá a alguno le resulte útil o pueda adaptarlo a sus necesidades (ya que está todo harcodeado dentro :-P).

# coding=utf-8
import gtrans
 
fo = open("en_EN.po","r")
fi = open("es_ES.po","w")
 
for line in fo:
    if line.find("msgid") == 0:
        cad = gtrans.translate("en","es",line.split("\"")[1])
        #print line.encode("utf-8"),
        fi.write(line.encode("utf-8"))
        fi.write("msgstr \""+cad.rstrip().encode("utf-8")+"\"\n")
    elif line.find("msgstr") == 0:
        pass
    else:
        #print line.encode("utf-8"),
        fi.write(line.encode("utf-8"))
 
fo.close()
fi.close()

Sé que Mancho hizo algo parecido en PHP. Apenas pueda lo enlazo.
Enlace al artículo de Mancho

Eliminar contenido XSS (cross site scripting)

Posted on the septiembre 21st, 2009 under GNU/Linux,Software Libre by

Mini post:

Encontré en uno de los sitios web que mantengo, un código de XSS (cross site scripting). Aún no determiné el punto de entrada, pero me enteré gracias a un mail de Google.

Con grep y sed es bastante sencillo eliminarlo, ni que hablar con un script en Python 😛

Con grep busco los archivos, y con xargs convierto la salida el pipe en un parámetro para sed, y con sed reemplazo el código. Como el código insertado está al final del archivo, la expresión regular hubiese podido ser mucho más sencilla.

grep ./ -l  -R -e "http://reycross.com/lib/index.php"  | xargs sed -i  -e "s/<iframe.*reycross.*>.*<\/iframe>/ /g"

El código a eliminar era este (no agrego los tags de apertura a propósito):

iframe
src="http://reycross.com/lib/index.php" width=0 height=0 style="hidden" framebord
er=0 marginheight=0 marginwidth=0 scrolling=no
iframe

¿Alguien que le haya ocurrido esto?

Drivers de SIS 771/671 para Xorg 1.6 -Mandriva 2009.1, Ubuntu Jaunty 9.04

Posted on the julio 11th, 2009 under General,GNU/Linux,Software Libre by

La versión corta para los impacientes y cansados de probar, aquí está, el driver para la placa de video con chip SIS 771/671 para Xorg 1.6, Ubuntu Jaunty Jackalope 9.04. Generalmente las computadoras que traen estas placas son las Olivetti 520 y algunas Bangho.

Publicidad

Aquí están los drivers binarios (sisimedia compilados por Mandriva)
xorg-driver-sisimedia_0.9-1_i386

Agregar o modificar lo siguiente en /etc/X11/xorg.conf

Section "Device"
    Driver "sisimedia"
EndSection

Luego reiniciar el servidor X.

Si querés saber que otras opciones tenés y como llegamos a estos drivers seguí leyendo.
Fuente: http://www.linuxconsulting.ro/xorg-drivers/

Combinación de comandos útiles para Linux

Posted on the junio 2nd, 2009 under GNU/Linux,Probando herramientas,Software Libre by

En este post voy a ir agregando comandos útiles que vamos encontrando entre los conocidos (y los que aporten), que permiten realizar tareas desde la consola sin tener que recurrir a programas sofisticados.

Confirmar todas las acciones que pregunte un programa interactivo.

$ yes | programa

devuelve una «y» cada vez que el programa quiere leer de la entrada estandar

$ yes s | programa

devuelve una «s» cada vez que el programa quiere leer de la entrada estandar

Encontrar archivos duplicados y conservar uno.

$ yes 1 | fdupes -d ./

fdupes encuentra mediante md5 archivos duplicados en la carpeta indicada. El parámetro d, le dice que borre el resto conservando el que le indiquemos. Mediante «yes 1» le decimos que conserve el primero que encuentra. Cuidado con md5 ;-).

Generar un PDF con varias páginas en una sola partiendo de otro PDF.

$ pdfnup salida.pdf --nup 2x5 --orient portrait --frame true

Dai me contó acerca de una aplicación llamada pdfnup. Permite hacer lo que uno quiera con un PDF, como recortarlo (cortarle los márgenes excesivos), agrupar en disposición de tabla varias páginas dentro de cada una (para poder imprimir por ejemplo 2×3 páginas or carilla). Tiene muchas opciones, pero a la vez configuradas por defecto para no necesitar agregar muchas cosas. El archivo de salida se llamará igual que el de entrada más la disposición, por ejemplo «salida-2×5.pdf».

Recortar varias imágenes y convertirlas en PDF (una por página).

$ convert -crop '750x350+110+200' +repage resp?/*.png salida.pdf

convert es una de las aplicaciones de ImageMagick. Conserva los originales, permitiendo mientras convertimos de formato, modificarle brillo, contraste, recortarla, rotarla, y muchos etcéteras. Si quisieramos que convierta cada imagen en un archivo separado, bastaría con combinarlo con

$ find ./ -iname '*.png' -exec convert '{}' '{}.pdf' ';'

donde {} representa el nombre del archivo y ‘;’ finaliza el comando.

Cantidad de líneas visibles en una terminal

Posted on the mayo 13th, 2009 under GNU/Linux,Software Libre by

Mini post: Estaba corriendo jBoss y la salida de logging quería ir leyéndola en la consola. Si bien voy guardando logging en un archivo, me molestaba que se pudieron ver «pocas» líneas en la Gnome Terminal.
Buscando entre las preferencias encontré la solapa Desplazamiento, donde podía elegiar la cantidad de líneas. Una curiosidad tonta, pero que no había visto en 4 años de uso Gnome.
editando-perfil-consola