From 4ad92f29a26aab140f7615f756ecafee09e11c29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A9munaire?= Date: Tue, 3 Jul 2012 04:17:30 +0200 Subject: [PATCH] If an error occurs during parsing, return the start of the tree instead of nothing --- module_states_file.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/module_states_file.py b/module_states_file.py index 6497913..11ed7cd 100644 --- a/module_states_file.py +++ b/module_states_file.py @@ -28,6 +28,7 @@ class ModuleStatesFile(xml.sax.ContentHandler): child = self.stack.pop() size = len(self.stack) if size > 0: + self.stack[size - 1].content = self.stack[size - 1].content.strip() self.stack[size - 1].addChild(child) else: self.root = child @@ -40,7 +41,10 @@ def parse_file(filename): parser.parse(open(filename, "r")) return mod.root except: - return module_state.ModuleState("nemubotstate") + if mod.root is None: + return module_state.ModuleState("nemubotstate") + else: + return mod.root def parse_string(string): mod = ModuleStatesFile() @@ -48,4 +52,7 @@ def parse_string(string): xml.sax.parseString(string, mod) return mod.root except: - return module_state.ModuleState("nemubotstate") + if mod.root is None: + return module_state.ModuleState("nemubotstate") + else: + return mod.root