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)