decorator für normale Funktion und Klassen Funktion
Verfasst: Dienstag 12. November 2013, 22:42
Hab sowas:
Machen beide das selbe, aber der eine ist für normale Funktion und der andere für Klassen Funktion, also bsp:
Also beide machen das selbe, aber weil die Signatur anders ist, musste ich zwei machen.
Wie kann man das vereinfachen?
Code: Alles auswählen
def pylucid_objects(view_function):
@wraps(view_function)
def _inner(request, *args, **kwargs):
response = resolve_pagetree_url(request)
if response:
return response
# Create initial context object
request.PYLUCID.context = RequestContext(request)
return view_function(request, *args, **kwargs)
return _inner
def class_based_pylucid_objects(view_function):
@wraps(view_function)
def _inner(cls, request, *args, **kwargs):
response = resolve_pagetree_url(request)
if response:
return response
# Create initial context object
request.PYLUCID.context = RequestContext(request)
return view_function(cls, request, *args, **kwargs)
return _inner
Code: Alles auswählen
@pylucid_objects
def foo(request):
pass
class ClassView(object):
@class_based_pylucid_objects
def foo(self, request):
pass
Wie kann man das vereinfachen?