> ciao a tutti
>
> vorrei transformare una parte di codice da una chiamata a funzione a
> un decoratore: il codice fa dei controlli sulla validità di un json
> web token, quindi non è parte della business logic ma è un
> pre-requisito di ogni controller
>
> il problema è che a questo decoratore servono collaboratori, e non so
> come passarglieli
>
> per ora il workaround è mettere i collaboratori nella App [0], e
> recuperarli a runtime, ma mi chiedo se esistano metodi migliori
>
> ciao
>
> federico


Se ho capito bene tu vuoi fare una cosa tipo quella che fa flask con gli
url no? Esempio:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

In cui viene definito il path route nel decoratore.

Lo puoi fare scrivendo una cosa tipo:

def decoratore(func, collaboratori):
        def inner(*args, **kwargs):
                ...
        return inner 

@decoratore(collaboratore1)
def func1():
        pass

Spero di essere stato chiaro. Se vuoi vedere cose piú avanzate
suggerisco di dare una sbirciata al sorgente di Flask che fa proprio
queste cose.

Buon lavoro

Fundor333

_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a