def update_track(session, track_id, latitude, longitude, stop_tracking=False): """ Updates the current location by creating a new track point and appending it to the given track """ tracking_data = { 'track_point': { 'latitude': latitude, 'longitude': longitude, }, 'stop_tracking': stop_tracking } # PUT /api/projects/0.1/tracks/{track_id}/ response = make_put_request(session, 'tracks/{}'.format(track_id), json_data=tracking_data) json_data = response.json() if response.status_code == 200: return json_data['result'] else: raise TrackNotUpdatedException(message=json_data['message'], error_code=json_data['error_code'])
def cancel_milestone_payment(session, milestone_id): """ Release a milestone payment """ params_data = { 'action': 'cancel', } # PUT /api/projects/0.1/milestones/{milestone_id}/?action=release endpoint = 'milestones/{}'.format(milestone_id) response = make_put_request(session, endpoint, params_data=params_data) json_data = response.json() if response.status_code == 200: return json_data['status'] else: raise MilestoneNotCancelledException( message=json_data['message'], error_code=json_data['error_code'])
def delete_milestone_request(session, milestone_request_id): """ Delete a milestone request """ params_data = { 'action': 'delete', } # POST /api/projects/0.1/milestone_requests/{milestone_request_id}/?action= # delete endpoint = 'milestone_requests/{}'.format(milestone_request_id) response = make_put_request(session, endpoint, params_data=params_data) json_data = response.json() if response.status_code == 200: return json_data['status'] else: raise MilestoneRequestNotDeletedException( message=json_data['message'], error_code=json_data['error_code'])
def highlight_project_bid(session, bid_id): """ Highlight a bid on a project """ headers = {'Content-Type': 'application/x-www-form-urlencoded'} bid_data = {'action': 'highlight'} # POST /api/projects/0.1/bids/{bid_id}/?action=revoke endpoint = 'bids/{}'.format(bid_id) response = make_put_request(session, endpoint, headers=headers, params_data=bid_data) json_data = response.json() if response.status_code == 200: return json_data['status'] else: json_data = response.json() raise BidNotHighlightedException(message=json_data['message'], error_code=json_data['error_code'])