Athento permite crear máscaras para modificar el comportamiento de las bandejas.
Una máscara es un módulo en lenguaje Python que recibe como parámetros los elementos a mostrar en la bandeja.
En el código del proyecto de Athento, puede verse una plantilla de máscara en la ruta athentose/athentose/custom/queuemasks/hello_world.py cuyo contenido es:
def run(q, items, **kwargs):
for i in items:
i['helloworld'] = 'Hello World!'
doc = i.get('doc')
return items
Básicamente, una máscara es una función que recibe como primer parámetro el objeto de la bandeja y como segundo parámetro el listado de elementos de la bandeja.
Como resultado, debe devolver un listado de elementos, el cual puede haber sido modificado.
La línea:
doc = i.get('doc')
nos permite recuperar el documento de una fila de la bandeja, por lo que, a partir de él, podemos hacer cualquier operación de las que se pueden hacer con un documento.
Por ejemplo, la siguiente máscara, obtiene por cada documento el valor de un metadato y le concatena el símbolo € y añade el nuevo valor como una nueva columna llamada "total_en_euros".
def run(q, items, **kwargs):
for i in items:
doc = i.get('doc')
total_factura = doc.gmv('metadata.total_factura')
i['total_en_euros'] = total_factura + '€'
return items
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.