view rhodecode/lib/app_globals.py @ 663:6199b34d349b beta

fixed html templates, fixed overal rhodecode width to 1024pixels various additional to templates. History for annotation, width for my page, repo types for admin panel repositories
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 06 Nov 2010 16:16:44 +0100
parents 05528ad948c4
children 405b80e4ccd5
line wrap: on
line source

"""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]