##// END OF EJS Templates
Fixed decorators bug when using them with keyworded arguments,new implementation takes new approach that is more flexible
Fixed decorators bug when using them with keyworded arguments,new implementation takes new approach that is more flexible

File last commit:

r341:1ef52a70 default
r377:bd8b25ad default
Show More
app_globals.py
33 lines | 1.1 KiB | text/x-python | PythonLexer
"""The application's Globals object"""
from beaker.cache import CacheManager
from beaker.util import parse_cache_config_options
from vcs.utils.lazy import LazyProperty
class Globals(object):
"""Globals acts as a container for objects available throughout the
life of the application
"""
def __init__(self, config):
"""One instance of Globals is created during application
initialization and is available during requests via the
'app_globals' variable
"""
self.cache = CacheManager(**parse_cache_config_options(config))
self.changeset_annotation_colors = {}
self.available_permissions = None # propagated after init_model
self.app_title = None # propagated after init_model
self.baseui = None # propagated after init_model
@LazyProperty
def paths(self):
if self.baseui:
return self.baseui.configitems('paths')
@LazyProperty
def base_path(self):
if self.baseui:
return self.paths[0][1].replace('*', '')