Le prof nous a donné un exemple sur la gestion des cookies.
def gateau(environ,start_response):
try:
n=int(environ['obiwan.cookie'].get('n').value)
except:
n=0 environ['obiwan.cookie.out']['n']=str(n+1)
return render(start_response,'cook.html',{'n':n})
gateau=Cookies(gateau)
voila un exemple que l'utilisateur du framework fait lui meme pour la gestion des cookies. Voila la classe cookies:
from Cookie import SimpleCookie
import os
class Cookies(object):
def __init__(self,app):
self.app=app
def __call__(self,environ,start_response):
c=SimpleCookie()
c.load(environ.get('HTTP_COOKIE',''))
environ['obiwan.cookie']=c
self.out=SimpleCookie()
environ['obiwan.cookie.out']=self.out
self.orig_start=start_response
return self.app(environ,self.start_response)
def start_response(self,s,headers):
for i in self.out:
headers.append(('Set-Cookie',self.out[i].OutputString()))
return self.orig_start(s,headers)
Pour l'instant j'aimerai juste savoir que fait exactement gateau=Cookies(gateau) je pense qu'il appelle la fonction callable __call__mais je comprend pas comment on peu mettre une fonction en parametre(enfin si en c/java mais la je comprend pas) et surtout que veuc dire fonction=class(fonction)
Ps: Euu en python =>2.4 je croit que gateau=Cookies(gateau) peux etre mis grace un decorateur avant la fonction grace à @Cookies
Mais sa m'aide pas je voie toujours pas ce que sa veux dire
