#!/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