[Checkins] SVN: z3ext.statusmessage/trunk/ Added null status message service

Nikolay Kim fafhrd91 at gmail.com
Wed Jun 3 15:40:44 EDT 2009


Log message for revision 100617:
  Added null status message service

Changed:
  U   z3ext.statusmessage/trunk/CHANGES.txt
  A   z3ext.statusmessage/trunk/src/z3ext/statusmessage/null.py
  U   z3ext.statusmessage/trunk/src/z3ext/statusmessage/session.py

-=-
Modified: z3ext.statusmessage/trunk/CHANGES.txt
===================================================================
--- z3ext.statusmessage/trunk/CHANGES.txt	2009-06-03 17:54:15 UTC (rev 100616)
+++ z3ext.statusmessage/trunk/CHANGES.txt	2009-06-03 19:40:44 UTC (rev 100617)
@@ -2,6 +2,12 @@
 CHANGES
 =======
 
+1.3.7 (2009-06-04)
+------------------
+
+- Added null status message service
+
+
 1.3.6 (2009-06-01)
 ------------------
 

Added: z3ext.statusmessage/trunk/src/z3ext/statusmessage/null.py
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/null.py	                        (rev 0)
+++ z3ext.statusmessage/trunk/src/z3ext/statusmessage/null.py	2009-06-03 19:40:44 UTC (rev 100617)
@@ -0,0 +1,41 @@
+##############################################################################
+#
+# Copyright (c) 2009 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" 
+
+$Id$
+"""
+from zope import component, interface
+from zope.component import getAdapter
+from interfaces import IMessage, IStatusMessage
+
+
+class NullMessageService(object):
+    interface.implements(IStatusMessage)
+
+    def __init__(self, request):
+        self.request = request
+        self._messages = []
+
+    def add(self, text, type='info'):
+        message = getAdapter(self.request, IMessage, type)
+        self._messages.append(message.render(text))
+
+    def clear(self):
+        self._messages = []
+
+    def messages(self):
+        return tuple(self._messages)
+
+    def __nonzero__(self):
+        return bool(self._messages)


Property changes on: z3ext.statusmessage/trunk/src/z3ext/statusmessage/null.py
___________________________________________________________________
Added: svn:keywords
   + Id

Modified: z3ext.statusmessage/trunk/src/z3ext/statusmessage/session.py
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/session.py	2009-06-03 17:54:15 UTC (rev 100616)
+++ z3ext.statusmessage/trunk/src/z3ext/statusmessage/session.py	2009-06-03 19:40:44 UTC (rev 100617)
@@ -20,6 +20,7 @@
 from zope.session.interfaces import ISession
 from zope.publisher.interfaces.browser import IBrowserRequest
 
+from null import NullMessageService
 from interfaces import SESSIONKEY, IMessage, IStatusMessage
 
 
@@ -29,7 +30,7 @@
     try:
         session = ISession(request)
     except:
-        return
+        return NullMessageService(request)
 
     return MessageService(request, session)
 



More information about the Checkins mailing list