def parse_trackpoints(trackpoints, gpx_ns): for trackpoint in trackpoints: lat = trackpoint.attrib['lat'] lon = trackpoint.attrib['lon'] elevation = trackpoint.find('{%s}ele' % gpx_ns).text time_str = trackpoint.find('{%s}time' % gpx_ns).text.replace('T', ' ')[:-1] time = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S") trackpoint = Trackpoint(track_id=None, latitude=lat, longitude=lon, altitude=None, velocity=None, temperature=None, direction=None, pressure=None, timestamp=time) DBSession.add(trackpoint) DBSession.flush()