Remove some debug. immsview
authorFabien Ninoles <fabien@tzone.org>
Sun, 07 Dec 2008 16:45:52 -0500
branchimmsview
changeset 40 7a7e5a853937
parent 39 a26e907b8022
child 41 8c84ac9a4761
Remove some debug. Refactorize the rating range. Correct the ploting function.
imms.py
immsview
--- a/imms.py	Sun Dec 07 16:05:33 2008 -0500
+++ b/imms.py	Sun Dec 07 16:45:52 2008 -0500
@@ -5,19 +5,25 @@
 
 _log = stderr
 
+MIN_RATING=0
+MAX_RATING=100
+
 def rating_to_color(rating):
-    i = rating
     red = green = blue = 0
-    if i <= 25:
+    division_size = (MAX_RATING-MIN_RATING)/4
+    divisions = range(MIN_RATING, MAX_RATING+1, division_size)
+    if rating <= divisions[1]:
         red = 255
-        green = i * 255 / 25
-    elif i <= 75:
-        red = (75-i) * 255 / 50
+        green = (rating-divisions[0]) * 255 / division_size
+    elif rating <= divisions[2]:
+        red = (divisions[2]-rating) * 255 / division_size
         green = 255
+    elif rating <= divisions[3]:
+	green = 255
+	blue = (rating-divisions[2]) * 255 / division_size
     else:
-        green = 255
-        blue = (i-75) * 255 / 25
-    print >>stderr,"Rating:",rating,"R:",red,"G:",green,"B:",blue
+        green = (divisions[4]-rating) * 255 / division_size
+        blue = 255
     return "#%02x%02x%02x" % (red, green, blue)
 
 class IMMSDb:
--- a/immsview	Sun Dec 07 16:05:33 2008 -0500
+++ b/immsview	Sun Dec 07 16:45:52 2008 -0500
@@ -321,16 +321,15 @@
         self.db = db;
         Gnuplot.Gnuplot.__init__(self)
     def plot_rate(self):
-        array = [0] * (100+1)
+    	rating_range = range(imms.MIN_RATING,imms.MAX_RATING+1)
+        array = [0] * rating_range.len()
         for uid, rating in self.db.get_ratings():
-	    if (rating > 100):
-	    	print >>stderr, "Rating for",uid,"is greater than 100:",rating
-		rating = 100
+	    if rating < imms.MIN_RATING or rating > imms.MAX_RATING:
+	    	print >>stderr, "Rating for",uid,"is out of range:", rating
+		rating = max(imms.MIN_RATING, min(imms.MAX_RATING, rating))
             array[rating] += 1
-        d1 = Gnuplot.Data(range(0,100), array,
-                         with_='impulses')
-        d2 = Gnuplot.Data(range(0,100), array,
-                          smooth = 'bezier')
+        d1 = Gnuplot.Data(rating_range, array, with_='impulses')
+        d2 = Gnuplot.Data(rating_range, array, smooth = 'bezier')
         self.plot(d1, d2, title='rate frequency')
         self.gnuplot.flush()