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)