#!/usr/bin/env python
import web
import simplejson as json
import MySQLdb
db = MySQLdb.connect(db='latitude')
c = db.cursor()
render = web.template.render('templates/')
urls = ( '/', 'showmap',
         '/reitti', 'route',
		 '/blob/(.*).png', 'blob')
app = web.application(urls, globals())
class showmap:
	def GET(self):
		c.execute('select googletime,latitude,longitude,accuracy from data group by latitude,longitude order by googletime desc limit 1000')
		rows = c.fetchall()
		jsondata = json.dumps(rows)
		return render.index(jsondata)

class route:
	def GET(self):
		c.execute('select googletime,latitude,longitude,accuracy from data order by googletime desc')
		rows = c.fetchall()
		jsondata = json.dumps(rows)
		return render.routes(jsondata)

class blob:
	def GET(self, ssize):
		import StringIO
		from PIL import Image, ImageDraw

		buf = StringIO.StringIO()
		size = int(ssize)
		image = Image.new('RGBA', (size,size))
		draw = ImageDraw.Draw(image)
		totalsteps = 30
		step = size/totalsteps
		for i in xrange(totalsteps):
			draw.ellipse((i*step,i*step,size-i*step,size-i*step), fill=(0,0,0,i*2))
		#return 'Content-Type: image/png\n\n'+
		image.save(buf, format="PNG")
		return buf.getvalue()		
		
if __name__ == '__main__':
	app.run()
