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':