flopp / GpxTrackPoster

Create a visually appealing poster from your GPX tracks
MIT License
412 stars 50 forks source link

Add handling for empty GPX files #17

Closed joetimmerman closed 6 years ago

joetimmerman commented 6 years ago

I have several empty GPX files due to things like treadmill activities -- this is how they're being pulled down by the garmin-connect-export utility. I'm getting an unpleasant error message coming from gpxpy for each of these files, so I added a check on the file size before calling _load_gpx_data. If the file is empty, it raises a TrackLoadError.

Error message:

ERROR:root:no element found: line 1, column 0 Traceback (most recent call last): File "/home/joe/Documents/GpxTrackPoster/venv/lib/python3.5/site-packages/gpxpy/parser.py", line 189, in parse self.xml_parser = XMLParser(self.xml) File "/home/joe/Documents/GpxTrackPoster/venv/lib/python3.5/site-packages/gpxpy/parser.py", line 40, in init self.dom = mod_minidom.parseString(xml) File "/usr/lib/python3.5/xml/dom/minidom.py", line 1968, in parseString return expatbuilder.parseString(string) File "/usr/lib/python3.5/xml/dom/expatbuilder.py", line 925, in parseString return builder.parseString(string) File "/usr/lib/python3.5/xml/dom/expatbuilder.py", line 223, in parseString parser.Parse(string, True) xml.parsers.expat.ExpatError: no element found: line 1, column 0

flopp commented 6 years ago

Looks good to me. Thank you for contributing!