2011-05-26 8 views
9

¿Cómo incluyo información de configuración de Buildout en mis productos Plone?¿cómo obtengo la configuración de buildout en mis productos plone?

Uno de los productos de plone en los que estoy trabajando lee y escribe información desde y hacia el sistema de archivos. Actualmente lo hace dentro del espacio de nombres del huevo (por ejemplo, dentro de plone/product/directory), pero eso no me parece del todo correcto.

La idea es configurar un lugar para almacenar esa información en una ruta configurable, como lo hacen iw.fss y iw.recipe.fss.

Por ejemplo, guarde esa información en $ {buildout: directory}/var/mydata.

+0

Qué información de configuración le gustaría incluir y por qué? Por favor agregue más detalles a la pregunta. – aclark

+0

Agregué más descripción a la pregunta. Espero dejarlo claro :) –

Respuesta

17

Se podría añadir secciones de configuración en el archivo de zope.conf través de la sección zope-conf-adicional de la parte plone.recipe.zope2instance:

[instance] 
recipe = plone.recipe.zope2instance 
... 
zope-conf-additional = 
    <product-config foobar> 
     spam eggs 
    </product-config> 

Cualquier sección del producto-configuración llamado es entonces disponible como una diccionario simple para cualquier producto de Python que se preocupe por buscarlo; el ejemplo anterior crea una entrada 'foobar' que es un dict con un mapeo 'spam': 'eggs'. Así es como, a continuación, accede a que a partir de su código:

from App.config import getConfiguration 
config = getConfiguration() 
configuration = config.product_config.get('foobar', dict()) 
spamvalue = configuration.get('spam') 
+0

Holy _! Nunca me hubiera encontrado con eso. ¡Es tan fácil que es pecaminoso! – Auspex

+0

¡Gracias, eso es todo! Funciona a las mil maravillas. –

Cuestiones relacionadas