New submission from Sebastian Bank: ConfigParser parses section lines containing square brackets like '[spam [eggs] spam]' up to the first instead of the last occurrence of ']' preventing roundtrips:
>>> s = StringIO() >>> c1 = ConfigParser() >>> c1.add_section('spam [eggs]') >>> c1.write(s) >>> s.seek(0) >>> c2 = ConfigParser() >>> c2.readfp(s) >>> assert c1.sections() == c2.sections() # fails Potential fix: change the second line of SECTCRE from r'(?P<header>[^]]+)' to r'(?P<header>.+?)'. If the parsing behaviour cannot be changed, the user should at least be warned about supplying data that breaks the roundtrip. ---------- components: Library (Lib) messages: 234497 nosy: xflr6 priority: normal severity: normal status: open title: ConfigParser does not handle square brackets in section name type: behavior versions: Python 2.7, Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23301> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com