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