Archive

Archive for the ‘Howto’ Category

Ocultar Icono Hardware Growler

April 12th, 2010 No comments
  1. Mostrar el contenido de HardwareGrowler.app
  2. Editar Info.plist
  3. Añadir las siguientes etiquetas (al final, justo antes de </dict>)

    <key>LSUIElement</key>
    <string>1</string>

  4. Cerrar y volver abrir HardwareGrowler

Vía

Categories: Blog, Howto, Notas Tags:

Apache con modulo python cgi

March 10th, 2009 No comments

Para el 3 ejercicio de DSBW había que implementar un pequeño script cgi en python.

Nunca antes había probado de usar cgi, así que he tenido que buscar las instrucciones y aquí dejo mi mini howto para linux.

Instalación

  1. Prerrequisito: tener apache instalado.
  2. Instalar libapache2-mod-python
  3. Añadir “AddHandler cgi-script .py” (sin las comillas) a la configuración cgi (/etc/apache2/sites-enable/000-default)
  4. Reiniciar apache

sudo aptitude install libapache2-mod-python
sudo gedit /etc/apache2/sites-enable/000-default
sudo /etc/init.d/apache2 restart

Primer script

En la configuración del sitio apache nos indica donde busca los cgi, en mi caso /usr/lib/cgi-bin. En el momento de escribir el código ten encuenta (2 y 3 son muy importantes):

  1. Importa el modulo cgi
  2. Lo primero que hay que imprimir es el content type “Content-type: text/html”
  3. Después una linea en blanco.
  4. Un consejo para debugar redirecciona la salida de error a la estandar,  no es aconsejable para producción.

La cabecera del script tendria que contener los siguiente:

#!/usr/bin/python
import cgi
import sys

print “Content-Type: text/html”
print
sys.stderr = sys.stdout ”’solo para debug”’

print ” Script cgi de prueba en python”

Prueba el script accediendo en tu navegador a http://localhost/cgi-bin/NOMBRE_SCRIPT,  si ha ocurrido un error lo puedes localizar en el log de apache (/var/log/apache2/error_log).

Una variable útil:

form = cgi.FieldStorage()

Inicializarla sólo una vez, contiene los valores post / get que se le pasan al script, puedes acceder a ellos de las siguientes formas:

form.getvalue(“name”)
form.getlist(“name) “‘ devuelve una lista con los valores que coinciden con la clave’”
form["name"].value ”’ igual que la primera si el campo no es una lista”‘

Mañana publicaré los archivos del ejercicio 3, antes de la entrega no por si las moscas.

Categories: DSBW, FIB, Howto Tags: , , ,