Mercurial > kallithea
diff rhodecode/lib/app_globals.py @ 547:1e757ac98988
renamed project to rhodecode
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 06 Oct 2010 03:18:16 +0200 |
parents | pylons_app/lib/app_globals.py@0d4fceb91c9c |
children | 05528ad948c4 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rhodecode/lib/app_globals.py Wed Oct 06 03:18:16 2010 +0200 @@ -0,0 +1,31 @@ +"""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.available_permissions = 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('*', '')