diff pylons_app/lib/utils.py @ 345:bb8f45f6d8f9

updated hg-app db manage and global settings
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 14 Jul 2010 12:50:12 +0200
parents 6484963056cd
children e8fc875467bd
line wrap: on
line diff
--- a/pylons_app/lib/utils.py	Wed Jul 14 12:38:01 2010 +0200
+++ b/pylons_app/lib/utils.py	Wed Jul 14 12:50:12 2010 +0200
@@ -28,7 +28,8 @@
 import logging
 from mercurial import ui, config, hg
 from mercurial.error import RepoError
-from pylons_app.model.db import Repository, User, HgAppUi
+from pylons_app.model.db import Repository, User, HgAppUi, HgAppSettings
+from pylons_app.model.meta import Session
 log = logging.getLogger(__name__)
 
 
@@ -79,10 +80,16 @@
 
 @cache_region('super_short_term', 'cached_hg_ui')
 def get_hg_ui_cached():
-    from pylons_app.model.meta import Session
     sa = Session()
     return sa.query(HgAppUi).all()    
 
+def get_hg_settings():
+    sa = Session()
+    ret = sa.query(HgAppSettings).scalar()
+    if not ret:
+        raise Exception('Could not get application settings !')
+    return ret
+    
 def make_ui(read_from='file', path=None, checkpaths=True):        
     """
     A function that will read python rc files or database
@@ -129,8 +136,9 @@
 
 
 def set_hg_app_config(config):
-    config['hg_app_auth_realm'] = 'realm'
-    config['hg_app_name'] = 'app name'
+    hgsettings = get_hg_settings()
+    config['hg_app_auth_realm'] = hgsettings.app_auth_realm
+    config['hg_app_name'] = hgsettings.app_title
 
 def invalidate_cache(name, *args):
     """Invalidates given name cache"""