[Checkins] SVN: lovely.rating/trunk/ - provide the value not the
rating object in the events
Juergen Kartnaller
juergen at kartnaller.at
Mon Sep 10 06:42:38 EDT 2007
Log message for revision 79551:
- provide the value not the rating object in the events
Changed:
U lovely.rating/trunk/CHANGES.txt
U lovely.rating/trunk/setup.py
U lovely.rating/trunk/src/lovely/rating/README.txt
U lovely.rating/trunk/src/lovely/rating/manager.py
-=-
Modified: lovely.rating/trunk/CHANGES.txt
===================================================================
--- lovely.rating/trunk/CHANGES.txt 2007-09-10 09:16:40 UTC (rev 79550)
+++ lovely.rating/trunk/CHANGES.txt 2007-09-10 10:42:37 UTC (rev 79551)
@@ -2,8 +2,13 @@
Changes for lovely.rating package
===================================
+2007/09/10 0.3.2
+================
-2007/09/07 0.3.1
+- provide the value not the rating object in the events
+
+
+2007/09/10 0.3.1
================
- added rating specific events
Modified: lovely.rating/trunk/setup.py
===================================================================
--- lovely.rating/trunk/setup.py 2007-09-10 09:16:40 UTC (rev 79550)
+++ lovely.rating/trunk/setup.py 2007-09-10 10:42:37 UTC (rev 79551)
@@ -2,7 +2,7 @@
from setuptools import setup, find_packages
setup(name='lovely.rating',
- version='0.3.1',
+ version='0.3.2',
author = "Lovelysystems",
author_email = "office at lovelysystems.com",
description = "A rating engine for zope 3",
Modified: lovely.rating/trunk/src/lovely/rating/README.txt
===================================================================
--- lovely.rating/trunk/src/lovely/rating/README.txt 2007-09-10 09:16:40 UTC (rev 79550)
+++ lovely.rating/trunk/src/lovely/rating/README.txt 2007-09-10 10:42:37 UTC (rev 79551)
@@ -91,6 +91,16 @@
<lovely.rating.interfaces.RatingAddedEvent object at ...>,
<lovely.rating.interfaces.RatingAddedEvent object at ...>]
+ >>> ev = eventtesting.getEvents()[0]
+ >>> ev.id
+ 'usability'
+ >>> ev.obj
+ <Application u'KDE'>
+ >>> ev.user
+ u'srichter'
+ >>> ev.value
+ u'Okay'
+
Setting a rating with the aready existing value doesn't fire an event.
>>> eventtesting.clearEvents()
@@ -107,6 +117,16 @@
[<lovely.rating.interfaces.RatingChangedEvent object at ...>,
<lovely.rating.interfaces.RatingChangedEvent object at ...>]
+ >>> ev = eventtesting.getEvents()[0]
+ >>> ev.id
+ 'usability'
+ >>> ev.obj
+ <Application u'KDE'>
+ >>> ev.user
+ u'srichter'
+ >>> ev.value
+ u'Good'
+
>>> manager.rate('usability', u'Okay', u'srichter')
True
@@ -247,6 +267,14 @@
[<lovely.rating.interfaces.RatingRemovedEvent object at ...>,
<lovely.rating.interfaces.RatingRemovedEvent object at ...>]
+ >>> ev = eventtesting.getEvents()[0]
+ >>> ev.id
+ 'usability'
+ >>> ev.obj
+ <Application u'KDE'>
+ >>> ev.user
+ 'badcarma'
+
Finally, the manager also provides some basic statistical features:
>>> manager.computeAverage('usability')
Modified: lovely.rating/trunk/src/lovely/rating/manager.py
===================================================================
--- lovely.rating/trunk/src/lovely/rating/manager.py 2007-09-10 09:16:40 UTC (rev 79550)
+++ lovely.rating/trunk/src/lovely/rating/manager.py 2007-09-10 10:42:37 UTC (rev 79551)
@@ -27,8 +27,6 @@
from BTrees import OOBTree
-from zope.app.container.contained import ObjectAddedEvent, ObjectRemovedEvent
-
from zope.app.container import contained
from lovely.rating import IRatable, IRatingsManager, IRatingDefinition, rating
@@ -65,8 +63,7 @@
if existing is not None and existing.value == value:
# do nothing if no change
return False
- value = rating.Rating(id, value, user)
- self._storage[id][user] = value
+ self._storage[id][user] = rating.Rating(id, value, user)
if existing is None:
zope.event.notify(interfaces.RatingAddedEvent(
id, self.__parent__, user, value))
More information about the Checkins
mailing list