diff -ur v6/ezyaml.py v7/ezyaml.py --- v6/ezyaml.py 2018-08-31 22:53:33.000000000 +0900 +++ v7/ezyaml.py 2018-08-31 22:54:11.000000000 +0900 @@ -7,6 +7,8 @@ sys.exit(1) qts = ('"', "'") +kwd_true = [ 'True', 'true', 'TRUE', 'ON', 'On', 'on' ] +kwd_false = [ 'False', 'false', 'FALSE', 'OFF', 'Off', 'off' ] def parse(s): lst = [''] @@ -126,6 +128,12 @@ except ValueError: pass + if s in kwd_true: + return True + if s in kwd_false: + return False + if s == 'null': + return None if s == '[]': return [] if s == '{}': @@ -202,8 +210,7 @@ return '\n'.join(lines) def need_quote(s): - kwd = [ '', 'True', 'true', 'TRUE', 'False', 'false', 'FALSE', 'ON', 'On', 'on', 'OFF', 'Off', 'off' ] - if s in kwd: + if s in [''] + kwd_true + kwd_false: return True hts = [ ('[', ']'), ('{', '}') ]