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 '' | 
