prompt user to handle when errors occured in ks file
authorGui Chen <gui.chen@intel.com>
Wed, 1 Aug 2012 13:34:02 +0000 (21:34 +0800)
committerGui Chen <gui.chen@intel.com>
Wed, 1 Aug 2012 13:34:02 +0000 (21:34 +0800)
Signed-off-by: Gui Chen <gui.chen@intel.com>
mic/kickstart/__init__.py

index 5dcc803..756d3f5 100644 (file)
@@ -112,23 +112,19 @@ def read_kickstart(path):
             self.prepackages = ksparser.Packages()
             self.attachment = ksparser.Packages()
 
-    ks = ksparser.KickstartParser(KSHandlers())
+    ks = ksparser.KickstartParser(KSHandlers(), errorsAreFatal=False)
     ks.registerSection(PrepackageSection(ks.handler))
     ks.registerSection(AttachmentSection(ks.handler))
 
     try:
         ks.readKickstart(path)
-    except kserrors.KickstartParseError, e:
-        msgptn = re.compile("^\D*(\d+).*(Section does not end with.*)$", re.S)
-        m = msgptn.match(str(e))
-        if m:
-            lineno = m.group(1)
-            wrnmsg = m.group(2)
-            msger.warning("'%s:%s': %s" % (path, lineno, wrnmsg))
+    except (kserrors.KickstartParseError, kserrors.KickstartError), err:
+        if msger.ask("Errors occured on kickstart file, skip and continue?"):
+            msger.warning("%s" % err)
+            pass
         else:
-            raise errors.KsError("'%s': %s" % (path, str(e)))
-    except kserrors.KickstartError, e:
-        raise errors.KsError("'%s': %s" % (path, str(e)))
+            raise errors.KsError("%s" % err)
+
     return ks
 
 def build_name(kscfg, prefix = None, suffix = None, maxlen = None):