# HG changeset patch # User Marcin Kuzminski # Date 1272412534 -7200 # Node ID f7c403e89d5bfd4b8da5b42ca2aa6a860f170984 # Parent 70b1e5d1e20daa6dbb5ab75276fed797085fd230 updated appglobals, to handle only the baseui config. removed hg app from it diff -r 70b1e5d1e20d -r f7c403e89d5b pylons_app/lib/app_globals.py --- a/pylons_app/lib/app_globals.py Wed Apr 28 00:16:08 2010 +0200 +++ b/pylons_app/lib/app_globals.py Wed Apr 28 01:55:34 2010 +0200 @@ -1,13 +1,10 @@ """The application's Globals object""" #uncomment the following if you want to serve a single repo #from mercurial.hgweb.hgweb_mod import hgweb -from mercurial.hgweb.hgwebdir_mod import hgwebdir -from mercurial import templater -from mercurial.hgweb.request import wsgiapplication -from mercurial import ui, config import os from beaker.cache import CacheManager from beaker.util import parse_cache_config_options +from pylons_app.lib.utils import make_ui class Globals(object): @@ -23,70 +20,6 @@ """ self.cache = CacheManager(**parse_cache_config_options(config)) - self.baseui = self.make_ui('hgwebdir.config') - - - def make_ui(self, path='hgwebdir.config'): - """ - A funcion that will read python rc files and make an ui from read options - - @param path: path to mercurial config file - """ - #propagated from mercurial documentation - sections = [ - 'alias', - 'auth', - 'decode/encode', - 'defaults', - 'diff', - 'email', - 'extensions', - 'format', - 'merge-patterns', - 'merge-tools', - 'hooks', - 'http_proxy', - 'smtp', - 'patch', - 'paths', - 'profiling', - 'server', - 'trusted', - 'ui', - 'web', - ] - - repos = path - baseui = ui.ui() - cfg = config.config() - cfg.read(repos) - self.paths = cfg.items('paths') + self.baseui = make_ui('hgwebdir.config') + self.paths = self.baseui.configitems('paths') self.base_path = self.paths[0][1].replace('*', '') - self.check_repo_dir(self.paths) - self.set_statics(cfg) - - for section in sections: - for k, v in cfg.items(section): - baseui.setconfig(section, k, v) - - return baseui - - def set_statics(self, cfg): - ''' - set's the statics for use in mako templates - @param cfg: - ''' - self.statics = cfg.get('web', 'staticurl', '/static') - if not self.statics.endswith('/'): - self.statics += '/' - - - def check_repo_dir(self, paths): - repos_path = paths[0][1].split('/') - if repos_path[-1] in ['*', '**']: - repos_path = repos_path[:-1] - if repos_path[0] != '/': - repos_path[0] = '/' - if not os.path.isdir(os.path.join(*repos_path)): - raise Exception('Not a valid repository in %s' % paths[0][1]) -