#!/usr/bin/python

import sys
import math
import urllib
import urllib2
import time

id = '123456789012345'
server = 'http://localhost:5055'
period = 1
step = 0.001

waypoints = [
    (40.722412, -74.006288),
    (40.728592, -74.005258),
    (40.728348, -74.002822),
    (40.725437, -73.996750),
    (40.721778, -73.999818),
    (40.723323, -74.002994)
]

points = []

for i in range(0, len(waypoints)):
    (lat1, lon1) = waypoints[i]
    (lat2, lon2) = waypoints[(i + 1) % len(waypoints)]
    length = math.sqrt((lat2 - lat1) ** 2 + (lon2 - lon1) ** 2)
    count = int(math.ceil(length / step))
    for j in range(0, count):
        lat = lat1 + (lat2 - lat1) * j / count
        lon = lon1 + (lon2 - lon1) * j / count
        points.append((lat, lon))

def send(lat, lon, course):
    params = (('id', id), ('timestamp', int(time.time())), ('lat', lat), ('lon', lon), ('bearing', course))
    urllib2.urlopen(server + '?' + urllib.urlencode(params)).read()

def course(lat1, lon1, lat2, lon2):
    lat1 = lat1 * math.pi / 180
    lon1 = lon1 * math.pi / 180
    lat2 = lat2 * math.pi / 180
    lon2 = lon2 * math.pi / 180
    y = math.sin(lon2 - lon1) * math.cos(lat2)
    x = math.cos(lat1) * math.sin(lat2) - math.sin(lat1) * math.cos(lat2) * math.cos(lon2 - lon1)
    return (math.atan2(y, x) % (2 * math.pi)) * 180 / math.pi

index = 0

while True:
    (lat1, lon1) = points[index % len(points)]
    (lat2, lon2) = points[(index + 1) % len(points)]
    send(lat1, lon1, course(lat1, lon1, lat2, lon2))
    time.sleep(period)
    index += 1

@@ -56,23 +56,23 @@
 %0Aimport 
-url
+http
 lib
-2
 %0Aimport 
@@ -114,15 +114,8 @@
  = '
-http://
 loca
@@ -750,16 +750,22 @@
 ef send(
+conn, 
 lat, lon
@@ -891,32 +891,27 @@
     
-urllib2.urlopen(server +
+conn.request('GET',
  '?'
@@ -942,13 +942,29 @@
 ms))
-.read
+%0A    conn.getresponse
 ()%0A%0A
@@ -1346,16 +1346,55 @@
 ex = 0%0A%0A
+conn = httplib.HTTPConnection(server)%0A%0A
 while Tr
@@ -1493,24 +1493,24 @@
 en(points)%5D%0A
-
     send(lat
@@ -1506,16 +1506,22 @@
    send(
+conn, 
 lat1, lo

Update test generator script