diff -r a26e907b8022 -r 7a7e5a853937 imms.py --- 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: