def get(self): self.response.out.write('<html><body><h1>UrTConnector usage statistics</h1>') clients = Client.all() self.response.out.write('<p>Unique clients: <b>%d</b></p>' % (clients.count())) heartbeats = Heartbeat.all() self.response.out.write('<p>Total launch count: <b>%d</b></p>' % (heartbeats.count())) self.response.out.write('<h2>Launches:</h2><table border="1">') self.response.out.write('<tr><td><b>Client ID</b></td><td><b>IP address</b></td><td><b>Date</b></td></tr>') heartbeats = Heartbeat.gql("ORDER BY date") for beat in heartbeats: self.response.out.write('<tr><td>%s</td><td>%s</td><td>%s</td></tr>' % (beat.client.client_id, beat.ip, beat.date)) self.response.out.write('</table>') self.response.out.write('</body></html>')