Files @ a83a1799480c
Branch filter:

Location: kallithea/pylons_app/lib/app_globals.py

Marcin Kuzminski
Reimplemented way of caching repos list, hg model now get's repos objects right from cached dict, this way we skipp creating instances of MercurialRepository and gain performance. Some import cleanup
"""The application's Globals object"""

from beaker.cache import CacheManager
from beaker.util import parse_cache_config_options
from pylons_app.lib.utils import make_ui

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.baseui = make_ui(config['hg_app_repo_conf'])
        self.paths = self.baseui.configitems('paths')
        self.base_path = self.paths[0][1].replace('*', '')
        self.changeset_annotation_colors = {}
        self.available_permissions = None # propagated after init_model