#!/usr/bin/python ''' authors: Pau1us license: gpl v2 or later This is a Class to create *.gpx Files Usage: open new file: file = WriteGPX(filename) write trackpint: file.write(lat, lon, alt, utctime) get status: file.GetStatus() close file: file.close() The file musst be closed, otherwise the file will be incomplete ''' from __future__ import with_statement class WriteGPX: def __init__(self, filename): self.filename = filename self.status = 'started' self.header = '\n\ \n\ \n\ \n' self.footer = '\n\n\n' with open(self.filename,'w') as file: file.write(self.header) self.status = 'active' print "file started!" def write(self, lat, lon, ele, time): self.trackpoint = '\n\ %s\n\ \n\ \n' % (lat, lon, ele, time) if self.status != 'closed': with open(self.filename,'a') as file: file.write(self.trackpoint) print "file updated!" def close(self): with open(self.filename,'a') as file: if self.status != 'closed': file.write(self.footer) self.status = 'closed' print "file closed successfully" else: print "file closed already!" def GetStatus(): print self.status