diff options
Diffstat (limited to 'chimere/utils.py')
-rw-r--r-- | chimere/utils.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/chimere/utils.py b/chimere/utils.py index c7502db..8f8128e 100644 --- a/chimere/utils.py +++ b/chimere/utils.py @@ -143,7 +143,13 @@ class KMLManager(ImportManager): source, msg = self.get_source_file(source, ['.kml']) if msg: return (0, 0, msg) - tree = etree.parse(source) + # remove empty lines before declaration (bad XML file) + splitted = source.getvalue().split('\n') + for idx, line in enumerate(splitted): + if line.strip(): + break + doc = "\n".join(splitted[idx:]) + tree = etree.parse(StringIO.StringIO(doc)) # try to get default namespace if not self.ns: self.ns = tree.getroot().nsmap[None] |