<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<br>
<blockquote type="cite"
cite="mid:253d47e3-8212-613c-3f68-409464ae3ed7@fsfe.org">ciao a
tutti
<br>
<br>
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
<br>
<br>
il problema è che a questo decoratore servono collaboratori, e non
so come passarglieli
<br>
<br>
per ora il workaround è mettere i collaboratori nella App [0], e
recuperarli a runtime, ma mi chiedo se esistano metodi migliori
<br>
<br>
ciao
<br>
<br>
federico
<br>
</blockquote>
<p><br>
</p>
<p>Se ho capito bene tu vuoi fare una cosa tipo quella che fa flask
con gli url no? Esempio:</p>
<pre><span class="kn">
from</span> <span class="nn">flask</span> <span class="kn">import</span> <span class="n">Flask</span>
<span class="n">app</span> <span class="o">=</span> <span class="n">Flask</span><span class="p">(</span><span class="vm">__name__</span><span class="p">)</span>
<span class="nd">@app</span><span class="o">.</span><span class="n">route</span><span class="p">(</span><span class="s1">'/'</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">hello_world</span><span class="p">():</span>
<span class="k">return</span> <span class="s1">'Hello, World!'
</span><span class="s1"></span>
</pre>
<p>In cui viene definito il path route nel decoratore. <br>
</p>
<p>Lo puoi fare scrivendo una cosa tipo:</p>
<pre>def decoratore(func, collaboratori):
def inner(*args, **kwargs):
...
return inner
@decoratore(collaboratore1)
def func1():
pass
</pre>
<p>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.</p>
<p>Buon lavoro <br>
</p>
<p>Fundor333<br>
</p>
<pre><span class="s1"></span></pre>
</body>
</html>