Mercurial > kallithea
changeset 3826:00e2c162d8bc beta
move out setting rc_extras for in-memory-push handlers to separate function
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 08 May 2013 23:04:24 +0200 |
parents | 3306bdd95f11 |
children | ff57547c9cf7 |
files | rhodecode/controllers/admin/repos.py rhodecode/model/scm.py |
diffstat | 2 files changed, 27 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos.py Wed May 08 21:26:27 2013 +0200 +++ b/rhodecode/controllers/admin/repos.py Wed May 08 23:04:24 2013 +0200 @@ -492,6 +492,7 @@ ScmModel().pull_changes(repo_name, self.rhodecode_user.username) h.flash(_('Pulled from remote location'), category='success') except Exception, e: + log.error(traceback.format_exc()) h.flash(_('An error occurred during pull from remote location'), category='error')
--- a/rhodecode/model/scm.py Wed May 08 21:26:27 2013 +0200 +++ b/rhodecode/model/scm.py Wed May 08 23:04:24 2013 +0200 @@ -424,6 +424,30 @@ self.sa.add(repo) return repo + def _handle_rc_scm_extras(self, username, repo_name, repo_alias): + from rhodecode import CONFIG + from rhodecode.lib.base import _get_ip_addr + try: + from pylons import request + environ = request.environ + except TypeError: + # we might use this outside of request context, let's fake the + # environ data + from webob import Request + environ = Request.blank('').environ + extras = { + 'ip': _get_ip_addr(environ), + 'username': username, + 'action': 'push_local', + 'repository': repo_name, + 'scm': repo_alias, + 'config': CONFIG['__file__'], + 'server_url': get_server_url(environ), + 'make_lock': None, + 'locked_by': [None, None] + } + _set_extras(extras) + def _handle_push(self, repo, username, action, repo_name, revisions): """ Triggers push action hooks @@ -434,31 +458,9 @@ :param repo_name: name of repo :param revisions: list of revisions that we pushed """ - from rhodecode import CONFIG - from rhodecode.lib.base import _get_ip_addr - try: - from pylons import request - environ = request.environ - except TypeError: - # we might use this outside of request context, let's fake the - # environ data - from webob import Request - environ = Request.blank('').environ - - #trigger push hook - extras = { - 'ip': _get_ip_addr(environ), - 'username': username, - 'action': 'push_local', - 'repository': repo_name, - 'scm': repo.alias, - 'config': CONFIG['__file__'], - 'server_url': get_server_url(environ), - 'make_lock': None, - 'locked_by': [None, None] - } + self._handle_rc_scm_extras(username, repo_name, repo_alias=repo.alias) _scm_repo = repo._repo - _set_extras(extras) + # trigger push hook if repo.alias == 'hg': log_push_action(_scm_repo.ui, _scm_repo, node=revisions[0]) elif repo.alias == 'git':