changeset 112:f7c403e89d5b

updated appglobals, to handle only the baseui config. removed hg app from it
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 28 Apr 2010 01:55:34 +0200
parents 70b1e5d1e20d
children b6e219f3a58d
files pylons_app/lib/app_globals.py
diffstat 1 files changed, 3 insertions(+), 70 deletions(-) [+]
line wrap: on
line diff
--- 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])
-