changeset 257:66f617f162f8

added custom messages for remote responses.
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 05 Jun 2010 17:09:03 +0200
parents c49010829e4d
children 00892f5cf504
files pylons_app/lib/middleware/simplehg.py
diffstat 1 files changed, 19 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/pylons_app/lib/middleware/simplehg.py	Sat Jun 05 10:49:28 2010 +0200
+++ b/pylons_app/lib/middleware/simplehg.py	Sat Jun 05 17:09:03 2010 +0200
@@ -37,6 +37,7 @@
 from webob.exc import HTTPNotFound
 import logging
 import os
+from itertools import chain
 log = logging.getLogger(__name__)
 
 class SimpleHg(object):
@@ -89,8 +90,24 @@
             if action:
                 username = self.__get_environ_user(environ)
                 self.__log_user_action(username, action, repo_name)
-                         
-            return app(environ, start_response)            
+            messages = ['thanks for using hg app !']
+            return self.msg_wrapper(app, environ, start_response, messages)            
+
+
+    def msg_wrapper(self, app, environ, start_response, messages):
+        """
+        Wrapper for custom messages that come out of mercurial respond messages
+        is a list of messages that the user will see at the end of response from
+        merurial protocol actions that involves remote answers
+        @param app:
+        @param environ:
+        @param start_response:
+        """
+        def custom_messages(msg_list):
+            for msg in msg_list:
+                yield msg + '\n'
+        org_response = app(environ, start_response)
+        return chain(org_response, custom_messages(messages))
 
     def __make_app(self):
         hgserve = hgweb(self.repo_path)