#!/usr/bin/env python2.6
# -*- coding: iso-8859-15 -*-

import tornado.httpserver
import tornado.ioloop
import tornado.web
 
class Producto:
    def __init__(self,id, nombre, detalles):
        self.id = id 
        self.nombre = nombre
        self.detalles = detalles

productos = [ Producto(1, "Lápiz", "El mejor...."),
              Producto(2, "Boligrafo", "El mejor...."),
              Producto(3, "Goma", "El mejor...."),
              Producto(4, "Libreta", "El mejor...."),
              Producto(5, "Chincheta", "El mejor...."),
              ]

def calcula_precio (producto):
    if producto.id > 2:
        return "1,75 eur"
    else:
        return "1,50 eur"

class ProductoHandler(tornado.web.RequestHandler):
    def get(self, id_producto):
        producto = (p for p in productos if p.id == int(id_producto)).next()
        self.render("producto.html", producto = producto, precio = calcula_precio)

class ProductosHandler(tornado.web.RequestHandler):
    def get(self):
        self.render("productos.html", productos = productos)

aplicacion = tornado.web.Application([
    (r"/", ProductosHandler),
    (r"/producto/([0-9]+)", ProductoHandler)
])

if __name__ == "__main__":
    servidor_http = tornado.httpserver.HTTPServer(aplicacion)
    servidor_http.listen(8080)
    tornado.ioloop.IOLoop.instance().start()
