Llamada externa a Rapido¶
Al recorrer a @@rapido-call, podemos llamar a un elemento Rapido como una función Python.
Podría ser muy útil cuando queramos usar Rapido desde un PythonScript, una page template de Plone o cualquier mecanismo Plone que ofrezca ejecutar un pequeño script (flujo de trabajo Plone, collective.easyform, etc.).
@@rapido-call acepta los siguientes parámetros:
path(obligatorio, cadena): Rapido ruta al elemento a llamar (formato:app/blocks/element),content(opcional, objeto): el contenido a proporcionar al contexto de Rapido,- cualquier otro parámetro nombrado: los parámetros nombrados estarán disponibles para la implementación de Python del elemento en el diccionario
context.params.
Ejemplo:
PythonScript:
visitors = container.restrictedTraverse('@@rapido-call')(
'myapp/stats/analyse',
content=portal.news,
min_duration=2,
client='smartphone')
Elemento Rapido en myapp/stats.py:
def analyse(context):
filtered = get_filtered_visitors(
duration=context.params['min_duration'],
type=context.params['client'])
return len(filtered)