Loading namelist/namelist.py +7 −6 Original line number Diff line number Diff line Loading @@ -22,8 +22,8 @@ valueBool = re.compile(r"(\.(true|false|t|f)\.)",re.I) quote = re.compile(r"([\'\"]{1}.*[\'\"]{1})") namelistname = re.compile(r"&(" + varname + r")") paramname = re.compile(r"^(" + varname + r")") namlistend = re.compile(r"^\$(end)?", re.I) comment = re.compile(r"#.*") namlistend = re.compile(r'^(&(end)?|/)$', re.I) comment = re.compile(r"[#!].*") equalsign = re.compile(r"^=$") computation = re.compile(r"^([0-9\.e]+\s*[\*\+\-/]{1}\s*)+[0-9\.e]+", re.I) Loading Loading @@ -127,9 +127,10 @@ def parse_namelist_string(in_string): pname = match.group(1) nml[pname] = [] continue for pattern in (namlistend, equalsign): match = re.match(pattern, item) if match: if re.match(namlistend, item): continue print(item) if re.match(equalsign, item): continue match = re.match(valueBool, item) if match: Loading tests/test_parsing.py +1 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ from context import namelist "string", ["&nml &end", "&nml\n&end", "&nml\n&end\n", "&nml &", "&nml /", "&nml/", ] Loading Loading
namelist/namelist.py +7 −6 Original line number Diff line number Diff line Loading @@ -22,8 +22,8 @@ valueBool = re.compile(r"(\.(true|false|t|f)\.)",re.I) quote = re.compile(r"([\'\"]{1}.*[\'\"]{1})") namelistname = re.compile(r"&(" + varname + r")") paramname = re.compile(r"^(" + varname + r")") namlistend = re.compile(r"^\$(end)?", re.I) comment = re.compile(r"#.*") namlistend = re.compile(r'^(&(end)?|/)$', re.I) comment = re.compile(r"[#!].*") equalsign = re.compile(r"^=$") computation = re.compile(r"^([0-9\.e]+\s*[\*\+\-/]{1}\s*)+[0-9\.e]+", re.I) Loading Loading @@ -127,9 +127,10 @@ def parse_namelist_string(in_string): pname = match.group(1) nml[pname] = [] continue for pattern in (namlistend, equalsign): match = re.match(pattern, item) if match: if re.match(namlistend, item): continue print(item) if re.match(equalsign, item): continue match = re.match(valueBool, item) if match: Loading
tests/test_parsing.py +1 −0 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ from context import namelist "string", ["&nml &end", "&nml\n&end", "&nml\n&end\n", "&nml &", "&nml /", "&nml/", ] Loading