diff options
-rw-r--r-- | chimere/models.py | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/chimere/models.py b/chimere/models.py index e54edfc..381bf1f 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -22,7 +22,7 @@ Models description """ import os, string, re import simplejson as json -import lxml.etree as ElementTree +from lxml import etree from datetime import datetime, timedelta from subprocess import Popen, PIPE @@ -593,12 +593,13 @@ class RouteFile(models.Model): def route(self): if not self.simplified_file: return - mainNS = string.Template("{http://www.topografix.com/GPX/1/0}$tag") - trkpt = mainNS.substitute(tag="trkpt") + file_name = settings.MEDIA_ROOT + self.simplified_file.name - et = ElementTree.parse(open(file_name)) + tree = etree.parse(file_name) pts = [] - for pt in et.findall("//" + trkpt): + for pt in tree.getiterator(): + if not pt.tag.endswith('trkpt'): + continue pts.append((pt.get("lon"), pt.get("lat"))) geojson_tpl = u'{"type":"Feature", "geometry":{ "type": "LineString", '\ '"coordinates":[%s]}}' |