def get(self):
# get user info
summary = self.application.db.get_user_summary()
# categorize by platform and client
data = {}
for row in summary:
platform_data = data.setdefault(row['platform'], {})
client_data = platform_data.setdefault(row['client'], [])
client_data.append({'id': row['id'], 'timestamp': row['timestamp']})
# sort data
sorted_data = []
for platform, name in (('web', 'Web'), ('desktop', 'Desktop'), ('mobile', 'Mobile')):
if platform not in data:
continue
sorted_clients = []
platform_data = data[platform]
for client in sorted(platform_data, key=lambda s: s.lower()):
client_data = list(reversed(platform_data[client]))
sorted_clients.append((client, client_data))
sorted_data.append((name, sorted_clients))
# render page
self.render('summary.html', data=sorted_data)
评论列表
文章目录