--- 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: