[Checkins] SVN: z3ext.statusmessage/tags/1.3.3/ release tag

Nikolay Kim fafhrd at datacom.kz
Thu Nov 27 01:51:34 EST 2008


Log message for revision 93379:
  release tag

Changed:
  A   z3ext.statusmessage/tags/1.3.3/
  D   z3ext.statusmessage/tags/1.3.3/CHANGES.txt
  A   z3ext.statusmessage/tags/1.3.3/CHANGES.txt
  U   z3ext.statusmessage/tags/1.3.3/setup.py
  D   z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/README.txt
  A   z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/README.txt
  D   z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/configure.zcml
  A   z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/configure.zcml
  D   z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/session.py
  A   z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/session.py

-=-
Deleted: z3ext.statusmessage/tags/1.3.3/CHANGES.txt
===================================================================
--- z3ext.statusmessage/trunk/CHANGES.txt	2008-11-27 01:58:44 UTC (rev 93377)
+++ z3ext.statusmessage/tags/1.3.3/CHANGES.txt	2008-11-27 06:51:34 UTC (rev 93379)
@@ -1,50 +0,0 @@
-=======
-CHANGES
-=======
-
-1.3.2 (2008-11-23)
-------------------
-
-- Fixed tests agains zope3.4
-
-
-1.3.1 (2008-11-21)
-------------------
-
-- Fixed UnicodeEncodeError
-
-
-1.3.0 (2008-11-20)
-------------------
-
-- API refactored
-
-- Allow add messages at any stage of page processing
-
-
-1.2.1 (2008-05-14)
-------------------
-
-- Replace 'autoinclude' with 'includeDependendcies'
-
-
-1.2.0 (2008-03-21)
-------------------
-
-- rename to z3ext.statusmessage
-
-- moved to svn.zope.org
-
-
-1.1.0 (2008-03-18)
-------------------
-
-- Use z3c.autoinclude
-
-- Code cleanup
-
-
-1.0.0 (2007-12-08)
-------------------
-
-- Initial release.

Copied: z3ext.statusmessage/tags/1.3.3/CHANGES.txt (from rev 93378, z3ext.statusmessage/trunk/CHANGES.txt)
===================================================================
--- z3ext.statusmessage/tags/1.3.3/CHANGES.txt	                        (rev 0)
+++ z3ext.statusmessage/tags/1.3.3/CHANGES.txt	2008-11-27 06:51:34 UTC (rev 93379)
@@ -0,0 +1,56 @@
+=======
+CHANGES
+=======
+
+1.3.3 (2008-11-27)
+------------------
+
+- Handle error if session is not available
+
+
+1.3.2 (2008-11-23)
+------------------
+
+- Fixed tests agains zope3.4
+
+
+1.3.1 (2008-11-21)
+------------------
+
+- Fixed UnicodeEncodeError
+
+
+1.3.0 (2008-11-20)
+------------------
+
+- API refactored
+
+- Allow add messages at any stage of page processing
+
+
+1.2.1 (2008-05-14)
+------------------
+
+- Replace 'autoinclude' with 'includeDependendcies'
+
+
+1.2.0 (2008-03-21)
+------------------
+
+- rename to z3ext.statusmessage
+
+- moved to svn.zope.org
+
+
+1.1.0 (2008-03-18)
+------------------
+
+- Use z3c.autoinclude
+
+- Code cleanup
+
+
+1.0.0 (2007-12-08)
+------------------
+
+- Initial release.

Modified: z3ext.statusmessage/tags/1.3.3/setup.py
===================================================================
--- z3ext.statusmessage/trunk/setup.py	2008-11-27 01:58:44 UTC (rev 93377)
+++ z3ext.statusmessage/tags/1.3.3/setup.py	2008-11-27 06:51:34 UTC (rev 93379)
@@ -21,7 +21,7 @@
 def read(*rnames):
     return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
 
-version = '1.3.3dev'
+version = '1.3.3'
 
 
 setup(name='z3ext.statusmessage',

Deleted: z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/README.txt
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/README.txt	2008-11-27 01:58:44 UTC (rev 93377)
+++ z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/README.txt	2008-11-27 06:51:34 UTC (rev 93379)
@@ -1,102 +0,0 @@
-=====================
-Portal status message
-=====================
-
-Instead include notification messages directly to template,
-developer can use messaging service.
-
-Main interface is IStatusMessage, it is adapter for IBrowserRequest
-so we can have different implementations, for example cookie based or session.
-
-By default only session based service implemented.
-
-   >>> from zope import interface, component
-   >>> from zope.interface.verify import verifyClass
-
-   >>> from z3ext.statusmessage import interfaces, session, message
-
-   >>> verifyClass(interfaces.IStatusMessage, session.MessageService)
-   True
-
-   >>> component.provideAdapter(session.MessageService)
-
-   >>> from zope.publisher.browser import TestRequest
-   >>> request = TestRequest()
-
-   >>> service = interfaces.IStatusMessage(request)
-
-   >>> bool(service)
-   False
-
-   >>> service.add('Test message')
-   Traceback (most recent call last):
-   ...
-   ComponentLookupError: ...
-
-   >>> service.clear()
-   ()
-
-
-Before we can use message service we need register message type.
-
-   >>> component.provideAdapter(message.InformationMessage, name='info')
-
-   >>> msg = component.getAdapter(request, interfaces.IMessage, 'info')
-   >>> print msg.render('Test message')
-   <div class="statusMessage">Test message</div>
-
-Now we can add messages.
-
-   >>> service.add('Test message')
-
-   >>> bool(service)
-   True
-
-   >>> for msg in service.messages():
-   ...     print msg
-   <div class="statusMessage">Test message</div>
-
-
-Let's register another message type.
-
-   >>> component.provideAdapter(message.WarningMessage, name='warning')
-
-   >>> service.add('Warning message', 'warning')
-
-   >>> for msg in service.messages():
-   ...     print msg
-   <div class="statusMessage">Test message</div>
-   <div class="statusWarningMessage">Warning message</div>
-
-Error message, we can add exception object
-
-   >>> component.provideAdapter(message.ErrorMessage, name='error')
-
-   >>> service.add(Exception('Error message'), 'error')
-
-or text message
-
-   >>> service.add('Error message', 'error')
-
-   >>> for msg in service.messages():
-   ...     print msg
-   <div class="statusMessage">Test message</div>
-   <div class="statusWarningMessage">Warning message</div>
-   <div class="statusStopMessage">Exception: Error message</div>
-   <div class="statusStopMessage">Error message</div>
-
-
-Clearing service
-----------------
-
-clear() method return all messages and clear service.
-
-   >>> for msg in service.clear():
-   ...     print msg
-   <div class="statusMessage">Test message</div>
-   <div class="statusWarningMessage">Warning message</div>
-   <div class="statusStopMessage">Exception: Error message</div>
-   <div class="statusStopMessage">Error message</div>
-
-   >>> bool(service)
-   False

Copied: z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/README.txt (from rev 93378, z3ext.statusmessage/trunk/src/z3ext/statusmessage/README.txt)
===================================================================
--- z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/README.txt	                        (rev 0)
+++ z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/README.txt	2008-11-27 06:51:34 UTC (rev 93379)
@@ -0,0 +1,102 @@
+=====================
+Portal status message
+=====================
+
+Instead include notification messages directly to template,
+developer can use messaging service.
+
+Main interface is IStatusMessage, it is adapter for IBrowserRequest
+so we can have different implementations, for example cookie based or session.
+
+By default only session based service implemented.
+
+   >>> from zope import interface, component
+   >>> from zope.interface.verify import verifyClass
+
+   >>> from z3ext.statusmessage import interfaces, session, message
+
+   >>> verifyClass(interfaces.IStatusMessage, session.MessageService)
+   True
+
+   >>> component.provideAdapter(session.getMessageService)
+
+   >>> from zope.publisher.browser import TestRequest
+   >>> request = TestRequest()
+
+   >>> service = interfaces.IStatusMessage(request)
+
+   >>> bool(service)
+   False
+
+   >>> service.add('Test message')
+   Traceback (most recent call last):
+   ...
+   ComponentLookupError: ...
+
+   >>> service.clear()
+   ()
+
+
+Before we can use message service we need register message type.
+
+   >>> component.provideAdapter(message.InformationMessage, name='info')
+
+   >>> msg = component.getAdapter(request, interfaces.IMessage, 'info')
+   >>> print msg.render('Test message')
+   <div class="statusMessage">Test message</div>
+
+Now we can add messages.
+
+   >>> service.add('Test message')
+
+   >>> bool(service)
+   True
+
+   >>> for msg in service.messages():
+   ...     print msg
+   <div class="statusMessage">Test message</div>
+
+
+Let's register another message type.
+
+   >>> component.provideAdapter(message.WarningMessage, name='warning')
+
+   >>> service.add('Warning message', 'warning')
+
+   >>> for msg in service.messages():
+   ...     print msg
+   <div class="statusMessage">Test message</div>
+   <div class="statusWarningMessage">Warning message</div>
+
+Error message, we can add exception object
+
+   >>> component.provideAdapter(message.ErrorMessage, name='error')
+
+   >>> service.add(Exception('Error message'), 'error')
+
+or text message
+
+   >>> service.add('Error message', 'error')
+
+   >>> for msg in service.messages():
+   ...     print msg
+   <div class="statusMessage">Test message</div>
+   <div class="statusWarningMessage">Warning message</div>
+   <div class="statusStopMessage">Exception: Error message</div>
+   <div class="statusStopMessage">Error message</div>
+
+
+Clearing service
+----------------
+
+clear() method return all messages and clear service.
+
+   >>> for msg in service.clear():
+   ...     print msg
+   <div class="statusMessage">Test message</div>
+   <div class="statusWarningMessage">Warning message</div>
+   <div class="statusStopMessage">Exception: Error message</div>
+   <div class="statusStopMessage">Error message</div>
+
+   >>> bool(service)
+   False

Deleted: z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/configure.zcml
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/configure.zcml	2008-11-27 01:58:44 UTC (rev 93377)
+++ z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/configure.zcml	2008-11-27 06:51:34 UTC (rev 93379)
@@ -1,26 +0,0 @@
-<configure xmlns="http://namespaces.zope.org/zope">
-
-  <includeDependencies package="z3ext.statusmessage" />
-
-  <!-- messages -->
-  <adapter
-     name="info"
-     factory=".message.InformationMessage" />
-
-  <adapter
-     name="warning"
-     factory=".message.WarningMessage" />
-
-  <adapter
-     name="error"
-     factory=".message.ErrorMessage" />
-
-  <!-- default message service -->
-  <adapter factory=".session.MessageService" />
-
-  <!-- browser views -->
-  <adapter
-     name="statusMessage"
-     factory=".message.StatusMessage" />
-
-</configure>

Copied: z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/configure.zcml (from rev 93378, z3ext.statusmessage/trunk/src/z3ext/statusmessage/configure.zcml)
===================================================================
--- z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/configure.zcml	                        (rev 0)
+++ z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/configure.zcml	2008-11-27 06:51:34 UTC (rev 93379)
@@ -0,0 +1,26 @@
+<configure xmlns="http://namespaces.zope.org/zope">
+
+  <includeDependencies package="z3ext.statusmessage" />
+
+  <!-- messages -->
+  <adapter
+     name="info"
+     factory=".message.InformationMessage" />
+
+  <adapter
+     name="warning"
+     factory=".message.WarningMessage" />
+
+  <adapter
+     name="error"
+     factory=".message.ErrorMessage" />
+
+  <!-- default message service -->
+  <adapter factory=".session.getMessageService" />
+
+  <!-- browser views -->
+  <adapter
+     name="statusMessage"
+     factory=".message.StatusMessage" />
+
+</configure>

Deleted: z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/session.py
===================================================================
--- z3ext.statusmessage/trunk/src/z3ext/statusmessage/session.py	2008-11-27 01:58:44 UTC (rev 93377)
+++ z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/session.py	2008-11-27 06:51:34 UTC (rev 93379)
@@ -1,69 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2007 Zope Corporation 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 interface, component
-from zope.component import getAdapter
-from zope.session.interfaces import ISession
-from zope.publisher.interfaces.browser import IBrowserRequest
-
-from interfaces import SESSIONKEY, IMessage, IStatusMessage
-
-
-class MessageService(object):
-    """ message service """
-    component.adapts(IBrowserRequest)
-    interface.implements(IStatusMessage)
-
-    def __init__(self, request):
-        self.request = request
-
-    def add(self, text, type='info'):
-        message = getAdapter(self.request, IMessage, type)
-
-        session = ISession(self.request, None)
-        if session is not None:
-            try:
-                data = session[SESSIONKEY]
-                messages = data.get('messages', [])
-                messages.append(message.render(text))
-                data['messages'] = messages
-            except Exception, e:
-                print e
-
-    def clear(self):
-        session = ISession(self.request, None)
-        if session is not None:
-            data = session.get(SESSIONKEY)
-            if data is not None:
-                messages = data.get('messages')
-                if messages:
-                    del data['messages']
-                    return messages
-        return ()
-
-    def messages(self):
-        session = ISession(self.request, None)
-        if session is not None:
-            data = session.get(SESSIONKEY)
-            if data is not None:
-                messages = data.get('messages')
-                if messages:
-                    return messages
-        return ()
-
-    def __nonzero__(self):
-        return bool(self.messages())

Copied: z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/session.py (from rev 93378, z3ext.statusmessage/trunk/src/z3ext/statusmessage/session.py)
===================================================================
--- z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/session.py	                        (rev 0)
+++ z3ext.statusmessage/tags/1.3.3/src/z3ext/statusmessage/session.py	2008-11-27 06:51:34 UTC (rev 93379)
@@ -0,0 +1,75 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Corporation 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 interface, component
+from zope.component import getAdapter
+from zope.session.interfaces import ISession
+from zope.publisher.interfaces.browser import IBrowserRequest
+
+from interfaces import SESSIONKEY, IMessage, IStatusMessage
+
+
+ at component.adapter(IBrowserRequest)
+ at interface.implementer(IStatusMessage)
+def getMessageService(request):
+    try:
+        session = ISession(request)
+    except:
+        return
+
+    return MessageService(request, session)
+
+
+class MessageService(object):
+    """ message service """
+    component.adapts(IBrowserRequest, ISession)
+    interface.implements(IStatusMessage)
+
+    def __init__(self, request, session):
+        self.request = request
+        self.session = session
+
+    def add(self, text, type='info'):
+        message = getAdapter(self.request, IMessage, type)
+
+        try:
+            data = self.session[SESSIONKEY]
+            messages = data.get('messages', [])
+            messages.append(message.render(text))
+            data['messages'] = messages
+        except Exception, e:
+            pass
+
+    def clear(self):
+        data = self.session.get(SESSIONKEY)
+        if data is not None:
+            messages = data.get('messages')
+            if messages:
+                del data['messages']
+                return messages
+        return ()
+
+    def messages(self):
+        data = self.session.get(SESSIONKEY)
+        if data is not None:
+            messages = data.get('messages')
+            if messages:
+                return messages
+        return ()
+
+    def __nonzero__(self):
+        return bool(self.messages())



More information about the Checkins mailing list