# HG changeset patch # User Marcin Kuzminski # Date 2012-08-15 16:25:38 # Node ID dd240b2b7a12779dbb8968ce2936710f82c93f9e # Parent 4c71667160e5763ec65b012ed0b10a56342af159 Added optional flag to make_ui to not clean sqlalchemy Session. Don't clear sqlalchemy session when using make_ui in admin repo form diff --git a/rhodecode/lib/utils.py b/rhodecode/lib/utils.py --- a/rhodecode/lib/utils.py +++ b/rhodecode/lib/utils.py @@ -280,7 +280,7 @@ ui_sections = ['alias', 'auth', 'ui', 'web', ] -def make_ui(read_from='file', path=None, checkpaths=True): +def make_ui(read_from='file', path=None, checkpaths=True, clear_session=True): """ A function that will read python rc files or database and make an mercurial ui object from read options @@ -325,8 +325,8 @@ def make_ui(read_from='file', path=None, # force set push_ssl requirement to False, rhodecode # handles that baseui.setconfig(ui_.ui_section, ui_.ui_key, False) - - meta.Session.remove() + if clear_session: + meta.Session.remove() return baseui diff --git a/rhodecode/model/validators.py b/rhodecode/model/validators.py --- a/rhodecode/model/validators.py +++ b/rhodecode/model/validators.py @@ -377,10 +377,10 @@ def ValidCloneUri(): ## initially check if it's at least the proper URL ## or does it pass basic auth MercurialRepository._check_url(url) - httppeer(make_ui('db'), url)._capabilities() + httppeer(ui, url)._capabilities() elif url.startswith('svn+http'): from hgsubversion.svnrepo import svnremoterepo - svnremoterepo(make_ui('db'), url).capabilities + svnremoterepo(ui, url).capabilities elif url.startswith('git+http'): raise NotImplementedError() @@ -410,7 +410,7 @@ def ValidCloneUri(): pass else: try: - url_handler(repo_type, url, make_ui('db')) + url_handler(repo_type, url, make_ui('db', clear_session=False)) except Exception: log.exception('Url validation failed') msg = M(self, 'clone_uri')