1
0
mirror of https://github.com/dkmstr/openuds.git synced 2024-12-22 13:34:04 +03:00

Advanced a lot on azure ad integration

This commit is contained in:
Adolfo Gómez García 2018-06-26 17:20:05 +02:00
parent 4570d79645
commit d8eb440b34
2 changed files with 9 additions and 5 deletions

View File

@ -72,6 +72,7 @@ class Environment(object):
''' '''
Method to acces the cache of the environment. Method to acces the cache of the environment.
@return: a referente to an Storage Instance @return: a referente to an Storage Instance
:rtype uds.core.util.Storage.Storage
''' '''
return self._storage return self._storage
@ -179,7 +180,6 @@ class Environmentable(object):
''' '''
self._env = environment self._env = environment
@property @property
def cache(self): def cache(self):
''' '''
@ -197,6 +197,8 @@ class Environmentable(object):
Returns: Returns:
Storage for the object Storage for the object
:rtype uds.core.util.Storage.Storage
''' '''
return self._env.storage return self._env.storage

View File

@ -39,7 +39,7 @@ from functools import wraps
import logging import logging
__updated__ = '2018-06-08' __updated__ = '2018-06-25'
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -97,7 +97,7 @@ def deprecated(func):
# #
# Decorator for caching # Decorator for caching
# Decorator that tries to get from cache before executing # Decorator that tries to get from cache before executing
def allowCache(cachePrefix, cacheTimeout, cachingArgs=None): def allowCache(cachePrefix, cacheTimeout, cachingArgs=None, cachingKeyFnc=None):
"""Decorator that give us a "quick& clean" caching feature on service providers. """Decorator that give us a "quick& clean" caching feature on service providers.
Note: This decorator is intended ONLY for service providers Note: This decorator is intended ONLY for service providers
@ -107,6 +107,8 @@ def allowCache(cachePrefix, cacheTimeout, cachingArgs=None):
:param cachingArgs: The caching args. Can be a single integer or a list. :param cachingArgs: The caching args. Can be a single integer or a list.
First arg (self) is 0, so normally cachingArgs are 1, or [1,2,..] First arg (self) is 0, so normally cachingArgs are 1, or [1,2,..]
""" """
if not cachingKeyFnc:
cachingKeyFnc = lambda(x):''
def allowCacheDecorator(fnc): def allowCacheDecorator(fnc):
@ -117,9 +119,9 @@ def allowCache(cachePrefix, cacheTimeout, cachingArgs=None):
argList = [args[i] if i < len(args) else '' for i in cachingArgs] argList = [args[i] if i < len(args) else '' for i in cachingArgs]
else: else:
argList = args[cachingArgs] if cachingArgs < len(args) else '' argList = args[cachingArgs] if cachingArgs < len(args) else ''
cacheKey = '{}-{}.{}'.format(cachePrefix, args[0].subscriptionId.value, argList) cacheKey = '{}-{}.{}'.format(cachePrefix, cachingKeyFnc(args[0]), argList)
else: else:
cacheKey = '{}-{}.gen'.format(cachePrefix, args[0].subscriptionId.value) cacheKey = '{}-{}.gen'.format(cachePrefix, cachingKeyFnc(args[0]))
data = None data = None
if kwargs.get('force', False) is False and args[0].cache is not None: if kwargs.get('force', False) is False and args[0].cache is not None: