Plugins
Frontweb usa una biblioteca para gestionar plugins llamada yapsy (gracias Roberto Alsina por la recomendación!).
Esta biblioteca nos permite hacer que frontweb sea fácil de extender y adaptar a las necesidades de nuevos usuarios.
En esta sección veremos como generar nuevos plugins.
Creando un plugin de ejemplo: count
Para crear un plugin debemos seleccionar un nombre y una funcionalidad, por ejemplo, hagamos un plugin que cuente cuantos archivos tiene nuestro directorio data.
Para crear el plugin tienes que ir a tu directorio data y localizar el directorio plugins, si el directorio no existe tienes que crearlo:
cd misitio cd data mkdir plugins
Una vez creado, tienes que ejecutar el comando:
frontweb createplugin
Esto te solicitará un nombre para el plugin, tienes que escribir un nombre corto, por ejemplo count.
Ahora, se han creado dos archivos nuevos dentro del directorio plugins, ambos con el nombre que elegimos:
- count.py
- count.yapsy-plugin
El siguiente paso es editar los dos archivos, por ejemplo, podríamos tomar el archivo count.yapsy-plugin y colocar una descripción:
[Core] Name = Count Module = count [Documentation] Author = Hugo Ruscitti Version = 0.1 Website = http://www.examplelab.com.ar Description = Te informa la cantidad de archivos de texto en data.
Luego, podemos tomar el archivo count.py y codificar la funcionalidad de nuestro plugin:
from yapsy.IPlugin import IPlugin import frontweb import os import re class Count(IPlugin): name = "count" def run(self, request, url): files = frontweb.utils.obtener_todos_los_archivos_de_texto("data/") cantidad = len(files) mensaje = "<h1>Count</h1> <p>Hay %d archivos en total" %(cantidad) return frontweb.utils.mostrar_pagina(mensaje, 'Pagina de count')
Probando el nuevo plugin
Ahora, si ingresas en la URL localhost:8182/plugins vas a poder que tu nuevo plugin ha cargado:
Bueno, ahora para probar el nuevo plugin solo tienes que escribir su nombre en la URL del sitio localhost:8182/count:
Plugins mas complejos
Para investigar mas sobre cómo hacer complementos mas elaborados, te recomendamos ver los plugins que incluye frontweb. En la sección instalación hay instrucciones para obtener el código fuente de frontweb.
