diff --git a/pylons_app/lib/db_manage.py b/pylons_app/lib/db_manage.py --- a/pylons_app/lib/db_manage.py +++ b/pylons_app/lib/db_manage.py @@ -33,7 +33,7 @@ sys.path.append(ROOT) from pylons_app.lib.auth import get_crypt_password from pylons_app.model import init_model -from pylons_app.model.db import User, Permission, HgAppUi +from pylons_app.model.db import User, Permission, HgAppUi, HgAppSettings from pylons_app.model.meta import Session, Base from sqlalchemy.engine import create_engine import logging @@ -81,7 +81,7 @@ class DbManage(object): self.create_user(username, password, True) def config_prompt(self): - log.info('Seting up repositories.config') + log.info('Setting up repositories config') path = raw_input('Specify valid full path to your repositories' @@ -122,6 +122,10 @@ class DbManage(object): paths.ui_value = os.path.join(path, '*') + hgsettings = HgAppSettings() + hgsettings.app_auth_realm = 'hg-app authentication' + hgsettings.app_title = 'hg-app' + try: self.sa.add(hooks) self.sa.add(web1) @@ -129,6 +133,7 @@ class DbManage(object): self.sa.add(web3) self.sa.add(web4) self.sa.add(paths) + self.sa.add(hgsettings) self.sa.commit() except: self.sa.rollback() diff --git a/pylons_app/lib/utils.py b/pylons_app/lib/utils.py --- a/pylons_app/lib/utils.py +++ b/pylons_app/lib/utils.py @@ -28,7 +28,8 @@ import os 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 @@ def check_repo(repo_name, base_path, ver @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 make_ui(read_from='file', path=None, 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"""