1979
by Michael Vogt
* utils/show_top_rated_for_various_powers.py: |
1 |
#!/usr/bin/python
|
2 |
||
3 |
import sys |
|
4 |
||
5 |
sys.path.insert(0,"../") |
|
6 |
||
7 |
from softwarecenter.backend.reviews import get_review_loader |
|
8 |
from softwarecenter.db.pkginfo import get_pkg_info |
|
9 |
from softwarecenter.utils import calc_dr |
|
10 |
||
11 |
sys.path.insert(0, "../utils") |
|
12 |
||
13 |
||
14 |
def show_top_rated_apps(): |
|
15 |
# get the ratings
|
|
16 |
cache = get_pkg_info() |
|
17 |
loader = get_review_loader(cache) |
|
18 |
review_stats = loader.REVIEW_STATS_CACHE |
|
19 |
# recalculate using different default power
|
|
20 |
results = {} |
|
21 |
for i in [0.5, 0.4, 0.3, 0.2, 0.1, 0.05]: |
|
22 |
for (key, value) in review_stats.iteritems(): |
|
23 |
value.dampened_rating = calc_dr(value.rating_spread, power=i) |
|
1980
by Michael Vogt
utils/show_top_rated_for_various_powers.py: improve output a little bit |
24 |
top_rated = loader.get_top_rated_apps(quantity=25) |
1979
by Michael Vogt
* utils/show_top_rated_for_various_powers.py: |
25 |
print "For power: %s" % i |
1980
by Michael Vogt
utils/show_top_rated_for_various_powers.py: improve output a little bit |
26 |
for (i, key) in enumerate(top_rated): |
27 |
item = review_stats[key] |
|
28 |
print "%(rang)2i: %(pkgname)-25s avg=%(avg)1.2f total=%(total)03i dampened=%(dampened)1.5f spread=%(spread)s" % { |
|
29 |
'rang' : i+1, |
|
30 |
'pkgname' : item.app.pkgname, |
|
31 |
'avg' : item.ratings_average, |
|
32 |
'total' : item.ratings_total, |
|
33 |
'spread' : item.rating_spread, |
|
34 |
'dampened' : item.dampened_rating, |
|
35 |
}
|
|
1979
by Michael Vogt
* utils/show_top_rated_for_various_powers.py: |
36 |
print
|
37 |
results[i] = top_rated[:] |
|
38 |
||
39 |
||
40 |
if __name__ == "__main__": |
|
41 |
show_top_rated_apps() |