◐ Shell
clean mode source ↗

Message 113311 - Python tracker

Patch updated for a state when #9452 is applied.

Creating/overwriting sections with __setitem__ on the parser added. More thorough unit test suite for the mapping protocol.

No documentation created yet. 

Fred, if you applied #9452 you might review this patch, too (thanks in advance!). If it's more-less okay, I'll introduce documentation as well.

For the record, another difference in behaviour with a regular dictionary was discovered as well:
- by default, all keys in sections are accessible in a case-insensitive manner
  -- that means that for a section that holds key "a", both are True: "a" in parser["section"], "A" in parser["section"]
  -- but, `for option in parser["section"]` lists only `optionxform`ed  option key names

The default is compatible with the legacy API and of course may be changed by specifying `optionxform = str`.