def add_trackpoints_to_db(trackpoints, track): for trackpoint in trackpoints: trackpoint_in_db = Trackpoint.get_trackpoint_by_lat_lon_time(trackpoint.latitude, \ trackpoint.longitude, trackpoint.timestamp) if not trackpoint_in_db: trackpoint.track_id = track.id try: DBSession.add(trackpoint) DBSession.flush() print trackpoint.timestamp except Exception, e: print "\n\nTrackpoint could not be added!\n\n" print e DBSession.rollback()
def add_track_to_db(track_details, author): track = track_details['track'] trackpoints = track_details['trackpoints'] track_in_db = Track.get_track_by_reduced_trackpoints(track.reduced_trackpoints) if not track_in_db: track.author = author.id track.uuid = str(uuid.uuid4()) track.start_time = trackpoints[0].timestamp track.end_time = trackpoints[-1].timestamp try: DBSession.add(track) DBSession.flush() except Exception, e: DBSession.rollback() print "\n\nTrack could not be added!\n\n" print e return None