diff options
Diffstat (limited to 'chimere/utils.py')
-rw-r--r-- | chimere/utils.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/chimere/utils.py b/chimere/utils.py index 4ecf3c4..09901c8 100644 --- a/chimere/utils.py +++ b/chimere/utils.py @@ -205,7 +205,10 @@ class KMLManager(ImportManager): if line.strip(): break doc = StringIO.StringIO("\n".join(splitted[idx:])) - tree = etree.parse(doc) + try: + tree = etree.parse(doc) + except: + return (0, 0, _(u"Bad XML file")) # try to get default namespace if not self.ns: self.ns = tree.getroot().nsmap[None] @@ -344,7 +347,10 @@ class ShapefileManager(ImportManager): name.decode(settings.CHIMERE_SHAPEFILE_ENCODING)) except: continue - geoms = [feat.geom.wkt] + try: + geoms = [feat.geom.wkt] + except: + return (0, 0, _(u"Bad Shapefile")) if feat.geom.geom_type == 'MultiLineString': geoms = [geom.wkt for geom in feat.geom] import_key = feat.get(id_name) if id_name and len(geoms) == 1 else '' |