Mercurial > kallithea
changeset 3477:951aa2741c98 beta
Moved inject ui into base vcs classe
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 06 Mar 2013 13:37:42 +0100 |
parents | 258e0353ca51 |
children | 796738bb697c |
files | rhodecode/lib/vcs/backends/base.py rhodecode/model/db.py |
diffstat | 2 files changed, 22 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/lib/vcs/backends/base.py Wed Mar 06 13:36:55 2013 +0100 +++ b/rhodecode/lib/vcs/backends/base.py Wed Mar 06 13:37:42 2013 +0100 @@ -311,6 +311,27 @@ """ raise NotImplementedError + def inject_ui(self, **extras): + """ + Injects extra parameters into UI object of this repo + """ + required_extras = [ + 'ip', + 'username', + 'action', + 'repository', + 'scm', + 'config', + 'server_url', + 'make_lock', + 'locked_by', + ] + for req in required_extras: + if req not in extras: + raise AttributeError('Missing attribute %s in extras' % (req)) + for k, v in extras.items(): + self._repo.ui.setconfig('rhodecode_extras', k, v) + class BaseChangeset(object): """
--- a/rhodecode/model/db.py Wed Mar 06 13:36:55 2013 +0100 +++ b/rhodecode/model/db.py Wed Mar 06 13:37:42 2013 +0100 @@ -938,15 +938,7 @@ @classmethod def inject_ui(cls, repo, extras={}): - from rhodecode.lib.vcs.backends.hg import MercurialRepository - from rhodecode.lib.vcs.backends.git import GitRepository - required = (MercurialRepository, GitRepository) - if not isinstance(repo, required): - raise Exception('repo must be instance of %s' % required) - - # inject ui extra param to log this action via push logger - for k, v in extras.items(): - repo._repo.ui.setconfig('rhodecode_extras', k, v) + repo.inject_ui(extras) @classmethod def is_valid(cls, repo_name):