Archive

Archive for the ‘DSBW’ Category

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: , , ,

DSBW: Ejercicio 2 DTO

March 10th, 2009 1 comment

Ejercicio puntuable número 2  repaso del patrón DTO en las variantes dominio, cliente y cliente con hasmap.

El ejercicio consiste en modificar el ejercicio 1 añadiendo el patrón DTO para obtener los datos de las vistas.

Nota obtenida en el ejercicio: A

Los archivos en cuestión:

Enunciado ejercicio 2 DSBW (DTO)

Entrega ejercicio 2 DSBW

Diagramas (proyectos y códigos fuente) ejercicio 2 DSBW

Categories: DSBW, FIB Tags: ,

DSBW: Ejercicio 1 – MVC

March 9th, 2009 No comments

Primer ejercicio puntuable de DSBW consiste en repasar y refrescar el patrón Modelo Vista Controlador, hay que crear los diagramas de secuencia de la operación venderEntrada y el diagrama de clases resultante.

La entrega tiene algunos errores, pero no los voy a corregir. En el diagrama de clases la relación butaca, entrada y sesión esta mal normalizada, seguro que hay alguno más.

Nota obtenida en el ejercicio: B

Los ficheros de interés:

Enunciado 1 DSBW (MVC)

Entrega ejercicio 1 DSBW

Diagramas (proyectos y códigos fuente) ejercicio 1 DSBW

Categories: DSBW, FIB Tags: ,