4 from datetime import datetime
5 import sqlalchemy as sa
6 import sqlalchemy.sql.functions as func
7 from colorsys import rgb_to_hls, hls_to_rgb
8 from pyramid.paster import bootstrap
9 from xonstat.models import *
11 from render import Skin
14 # maximal number of query results (for testing, set to 0 to get all)
21 bg="background_archer-v1",
26 # parse cmdline parameters (for testing)
29 arg = sys.argv[1].lower()
37 env = bootstrap('../../../development.ini')
39 req.matchdict = {'id':3}
41 print "Requesting player data from db ..."
42 start = datetime.now()
45 players = DBSession.query(Player).\
46 filter(Player.player_id == PlayerElo.player_id).\
47 filter(Player.nick != None).\
48 filter(Player.player_id > 2).\
49 filter(Player.active_ind == True).\
50 limit(NUM_PLAYERS).all()
52 players = DBSession.query(Player).\
53 filter(Player.player_id == PlayerElo.player_id).\
54 filter(Player.nick != None).\
55 filter(Player.player_id > 2).\
56 filter(Player.active_ind == True).\
61 total_seconds = (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6
62 print "Query took %.2f seconds" % (total_seconds)
64 print "Creating badges for %d players ..." % len(players)
65 start = datetime.now()
66 data_time, render_time = 0,0
67 for player in players:
68 req.matchdict['id'] = player.player_id
70 sstart = datetime.now()
72 sstop = datetime.now()
74 total_seconds = (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6
75 data_time += total_seconds
77 sstart = datetime.now()
78 skin.render_image("output/%d.png" % player.player_id)
79 sstop = datetime.now()
81 total_seconds = (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6
82 render_time += total_seconds
86 total_seconds = (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6) / 10**6
87 print "Creating the badges took %.1f seconds (%.3f s per player)" % (total_seconds, total_seconds/float(len(players)))
88 print "Total time for redering images: %.3f s" % render_time
89 print "Total time for getting data: %.3f s" % data_time