--- a/src/pyams_utils/wsgi.py Sat Nov 23 01:24:11 2019 +0100
+++ b/src/pyams_utils/wsgi.py Sat Nov 23 14:57:24 2019 +0100
@@ -10,13 +10,12 @@
# FOR A PARTICULAR PURPOSE.
#
-__docformat__ = 'restructuredtext'
-
-# import standard library
+"""PyAMS_utils.wsgi module
-# import interfaces
+This module provides a method decorator which can store it's value into request environment
+"""
-# import packages
+__docformat__ = 'restructuredtext'
def wsgi_environ_cache(*names):
@@ -25,17 +24,20 @@
:param [string...] names: keys to cache into environ; len(names) must
be equal to the result's length or scalar
"""
- def decorator(fn):
+
+ def decorator(func):
+
def function_wrapper(self, request):
scalar = len(names) == 1
try:
- rs = [request.environ[cached_key] for cached_key in names]
+ env = [request.environ[cached_key] for cached_key in names]
except KeyError:
- rs = fn(self, request)
+ env = func(self, request)
if scalar:
- rs = [rs, ]
- request.environ.update(zip(names, rs))
- return rs[0] if scalar else rs
+ env = [env, ]
+ request.environ.update(zip(names, env))
+ return env[0] if scalar else env
+
return function_wrapper
return decorator