imms.py
branchimmsview
changeset 40 7a7e5a853937
parent 39 a26e907b8022
equal deleted inserted replaced
39:a26e907b8022 40:7a7e5a853937
     3 from pysqlite2 import dbapi2 as sqlite
     3 from pysqlite2 import dbapi2 as sqlite
     4 from utils import sql_quote, unique
     4 from utils import sql_quote, unique
     5 
     5 
     6 _log = stderr
     6 _log = stderr
     7 
     7 
       
     8 MIN_RATING=0
       
     9 MAX_RATING=100
       
    10 
     8 def rating_to_color(rating):
    11 def rating_to_color(rating):
     9     i = rating
       
    10     red = green = blue = 0
    12     red = green = blue = 0
    11     if i <= 25:
    13     division_size = (MAX_RATING-MIN_RATING)/4
       
    14     divisions = range(MIN_RATING, MAX_RATING+1, division_size)
       
    15     if rating <= divisions[1]:
    12         red = 255
    16         red = 255
    13         green = i * 255 / 25
    17         green = (rating-divisions[0]) * 255 / division_size
    14     elif i <= 75:
    18     elif rating <= divisions[2]:
    15         red = (75-i) * 255 / 50
    19         red = (divisions[2]-rating) * 255 / division_size
    16         green = 255
    20         green = 255
       
    21     elif rating <= divisions[3]:
       
    22 	green = 255
       
    23 	blue = (rating-divisions[2]) * 255 / division_size
    17     else:
    24     else:
    18         green = 255
    25         green = (divisions[4]-rating) * 255 / division_size
    19         blue = (i-75) * 255 / 25
    26         blue = 255
    20     print >>stderr,"Rating:",rating,"R:",red,"G:",green,"B:",blue
       
    21     return "#%02x%02x%02x" % (red, green, blue)
    27     return "#%02x%02x%02x" % (red, green, blue)
    22 
    28 
    23 class IMMSDb:
    29 class IMMSDb:
    24     def __init__(self, dbname = None):
    30     def __init__(self, dbname = None):
    25         if not dbname:
    31         if not dbname: