From a48d9edf6786b13ff2978349c2f8923a162030b9 Mon Sep 17 00:00:00 2001 From: Markus Hitter Date: Tue, 14 Jul 2015 22:32:41 +0200 Subject: [PATCH] Configtool: let the parsing method decide about values. Shouldn't cause functional change. So far, values commented out are still ignored, which is why the used regexp changed. This will hopefully change in the future, so a configuration can remember disabled values, too. --- configtool/boardpanel.py | 18 ++++++------ configtool/printerpanel.py | 58 ++++++++++++++++++++------------------ 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/configtool/boardpanel.py b/configtool/boardpanel.py index ba47194..5425375 100644 --- a/configtool/boardpanel.py +++ b/configtool/boardpanel.py @@ -314,8 +314,8 @@ class BoardPanel(wx.Panel): if self.parseCandidateValues(ln): continue - elif ln.lstrip().startswith("#define"): - self.parseDefineValue(ln) + elif self.parseDefineValue(ln): + continue else: m = reDefTS.search(ln) @@ -385,24 +385,26 @@ class BoardPanel(wx.Panel): tt = re.findall(reDefQSm2, t[1]) if len(tt) == 1: self.cfgValues[t[0]] = tt[0] - return + return True elif len(tt) > 1: self.cfgValues[t[0]] = tt - return + return True - m = reDefine.search(ln) + m = reDefineBL.search(ln) if m: t = m.groups() if len(t) == 2: self.cfgValues[t[0]] = t[1] - return + return True - m = reDefBool.search(ln) + m = reDefBoolBL.search(ln) if m: t = m.groups() if len(t) == 1: self.cfgValues[t[0]] = True - return + return True + + return False def parseCandidateValues(self, ln): m = reCandThermPins.match(ln) diff --git a/configtool/printerpanel.py b/configtool/printerpanel.py index 110922e..a790647 100644 --- a/configtool/printerpanel.py +++ b/configtool/printerpanel.py @@ -255,7 +255,8 @@ class PrinterPanel(wx.Panel): ln = prevLines + ln prevLines = "" - self.parseDefineValue(ln) + if self.parseDefineValue(ln): + continue if os.path.basename(fn) in protectedFiles: self.parent.enableSavePrinter(False, True) @@ -288,35 +289,36 @@ class PrinterPanel(wx.Panel): return False def parseDefineValue(self, ln): - if ln.lstrip().startswith("#define"): - m = reDefQS.search(ln) - if m: - t = m.groups() - if len(t) == 2: - m = reDefQSm.search(ln) - if m: - t = m.groups() - tt = re.findall(reDefQSm2, t[1]) - if len(tt) == 1: - self.cfgValues[t[0]] = tt[0] - return - elif len(tt) > 1: - self.cfgValues[t[0]] = tt - return + m = reDefQS.search(ln) + if m: + t = m.groups() + if len(t) == 2: + m = reDefQSm.search(ln) + if m: + t = m.groups() + tt = re.findall(reDefQSm2, t[1]) + if len(tt) == 1: + self.cfgValues[t[0]] = tt[0] + return True + elif len(tt) > 1: + self.cfgValues[t[0]] = tt + return True - m = reDefine.search(ln) - if m: - t = m.groups() - if len(t) == 2: - self.cfgValues[t[0]] = t[1] - return + m = reDefineBL.search(ln) + if m: + t = m.groups() + if len(t) == 2: + self.cfgValues[t[0]] = t[1] + return True - m = reDefBool.search(ln) - if m: - t = m.groups() - if len(t) == 1: - self.cfgValues[t[0]] = True - return + m = reDefBoolBL.search(ln) + if m: + t = m.groups() + if len(t) == 1: + self.cfgValues[t[0]] = True + return True + + return False def onSaveConfig(self, evt): path = self.configFile