# HG changeset patch # User Marcin Kuzminski # Date 1362573462 -3600 # Node ID 951aa2741c9864eca7eeceaddd5cc9dae3cddedb # Parent 258e0353ca51450a06833aaa6da9b45999e523c5 Moved inject ui into base vcs classe diff -r 258e0353ca51 -r 951aa2741c98 rhodecode/lib/vcs/backends/base.py --- 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): """ diff -r 258e0353ca51 -r 951aa2741c98 rhodecode/model/db.py --- 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):