from base import http_get, url_builder, compare import settings import json def get_route_kml_by_oauth(privacy_setting): route_key = create_route_key(privacy_setting) querystring = "get_route_kml?route_key=%s" % route_key expected = 'application/vnd.google-earth.kml+xml' result = http_get(url_builder(querystring), auth='oauth') # API3 returns a valid kml file only if the route is found compare(result.headers['content-type'],expected) delete_route_key(route_key) def get_route_kml_by_basic_auth(privacy_setting): route_key = create_route_key(privacy_setting) querystring = "get_route_kml?route_key=%s" % route_key expected = 'application/vnd.google-earth.kml+xml' result = http_get(url_builder(querystring), auth='basic') # API3 returns a valid kml file only if the route is found compare(result.headers['content-type'],expected) delete_route_key(route_key) def get_route_kml_by_server_token(privacy_setting): route_key = create_route_key(privacy_setting) querystring = "get_route_kml?route_key=%s" % route_key expected = 'application/vnd.google-earth.kml+xml' result = http_get(url_builder(querystring), auth='server-token') # API3 returns a valid kml file only if the route is found compare(result.headers['content-type'],expected) delete_route_key(route_key) def get_private_route_kml_by_server_token(privacy_setting): route_key = create_route_key(privacy_setting) querystring = "get_route_kml?route_key=%s" % route_key expected = 'text/plain; charset=UTF-8' result = http_get(url_builder(querystring), auth='server-token') # API3 returns a valid kml file only if the route is found compare(result.headers['content-type'],expected) delete_route_key(route_key) def create_route_key(privacy_setting): public_flag = 1 if privacy_setting == 0 or privacy_setting == 1: public_flag = 0 querystring = 'create_route?r=&route_key=&anonymous_flag=&public_flag=%s&privacy_setting=%s&average_rating=3&route_name=APIRoute&route_type_id=2&city=Cartago&state=&country=CostaRica&zip=&total_distance=12.34&route_description=BikeTraining&tags=&start_point_type=gym&commute_flag=0&event_flag=0&route_difficulty_rating=&route_obstacle_rating=&route_surface_rating=&route_data=lng1,lat1,[markerId]&xref=&send_social=' % (public_flag, privacy_setting) response = http_get(url_builder(querystring),'oauth') json_response = json.loads(response.text) new_route_key = json_response['result']['output'].get('route_key') return new_route_key def delete_route_key(route_key): querystring = "delete_route?r=&route_key=%s&route_id=" % route_key result = http_get(url_builder(querystring), 'oauth')