[Checkins] SVN: lovely.rating/trunk/src/lovely/rating/ Move views to lovely.mediaportal.rating

Roger Ineichen roger at projekt01.ch
Fri Aug 18 05:22:04 EDT 2006


Log message for revision 69633:
  Move views to lovely.mediaportal.rating
  Catch ZeroDivisionError in computeAverage 
  Register RatingsManager as class and adapter

Changed:
  D   lovely.rating/trunk/src/lovely/rating/browser/
  U   lovely.rating/trunk/src/lovely/rating/configure.zcml
  U   lovely.rating/trunk/src/lovely/rating/manager.py

-=-
Modified: lovely.rating/trunk/src/lovely/rating/configure.zcml
===================================================================
--- lovely.rating/trunk/src/lovely/rating/configure.zcml	2006-08-18 01:46:54 UTC (rev 69632)
+++ lovely.rating/trunk/src/lovely/rating/configure.zcml	2006-08-18 09:22:02 UTC (rev 69633)
@@ -2,6 +2,22 @@
     xmlns="http://namespaces.zope.org/zope"
     i18n_domain="lovely.rating">
 
-  <include package=".browser"/>
+  <class class=".manager.RatingsManager">
+    <implements
+        interface="zope.annotation.interfaces.IAttributeAnnotatable"
+        />
+    <require
+        permission="zope.View"
+        interface=".IRatingsManager"
+        />
+    <require
+        permission="zope.ManageContent"
+        set_schema=".IRatingsManager"
+        />
+  </class>
 
+  <adapter
+      factory=".manager.getRatingsManager"
+      />
+
 </configure>

Modified: lovely.rating/trunk/src/lovely/rating/manager.py
===================================================================
--- lovely.rating/trunk/src/lovely/rating/manager.py	2006-08-18 01:46:54 UTC (rev 69632)
+++ lovely.rating/trunk/src/lovely/rating/manager.py	2006-08-18 09:22:02 UTC (rev 69633)
@@ -87,7 +87,10 @@
         ratings = self._storage.get(id, {}).values()
         total = sum([defn.scoreSystem.getNumericalValue(rating.value)
                     for rating in ratings])
-        return total/len(ratings)
+        try:
+            return total/len(ratings)
+        except ZeroDivisionError:
+            return 0
 
     def countScores(self, id):
         """See interfaces.IRatingsManager"""



More information about the Checkins mailing list