Issue 12662: Add support for duplicate options in configparser (original) (raw)

Created on 2011-07-31 13:09 by ojab, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (6)
msg141463 - (view) Author: (ojab) Date: 2011-07-31 13:09
Allow configparser to process duplicate options, just concatenating it's values, so using file [sect1] opt1=asd; opt2=qwe opt1=fgs we will have config['sect1']['opt1'] == 'asd;fgs'
msg141666 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2011-08-05 16:26
Thanks for the report. Could you tell us more about the use cases? Are you aware of some config files using this form?
msg141676 - (view) Author: (ojab) Date: 2011-08-05 19:05
There is some [leagcy] proprietary soft-switches, which uses this config format. Personally I use [hacked] configparser to process Mera systems MVTS/SIP-HIT configs in this format, for example.
msg141677 - (view) Author: Brian Curtin (brian.curtin) * (Python committer) Date: 2011-08-05 19:11
This would break existing config files, including some of my own. It would also require that you have some end delimiter on every item in order to handle the event that someone duplicates options, otherwise the following would likely behave badly in your application [sect] opt=first opt=second This would give you "firstsecond" that you'd somehow need to parse. Sometimes if I'm testing out options, like I want to check how "second" works, I'll quickly just do it as above. With a change like this, I couldn't do that, I'd be forced to comment out the first line, or add a delimiter and split on it.
msg141678 - (view) Author: (ojab) Date: 2011-08-05 19:40
It may be impelmented as configparser.ConfigParser(strict=yes|no multiline), so no existing configs will be broken.
msg141688 - (view) Author: Łukasz Langa (lukasz.langa) * (Python committer) Date: 2011-08-05 20:46
This specific config format you're discussing strikes me as error prone and barely useful. With the use case you've given I cannot justify introducing support for it in the standard library. Remember that each switch, variant, however obscure and rarely used, increases source code complexity and introduces a maintenance burden. As you've seen with the freshly introduced `strict` option, we're generally heading the other direction: to let application users know early they potentially made a misconfiguration that could confuse them later on. So, thanks for your feedback but unfortunately I will have to say no to that proposal.
History
Date User Action Args
2022-04-11 14:57:20 admin set github: 56871
2011-08-05 20:46:45 lukasz.langa set status: open -> closedresolution: rejectedmessages: +
2011-08-05 19:40:05 ojab set messages: +
2011-08-05 19:11:30 brian.curtin set nosy: + brian.curtinmessages: +
2011-08-05 19:05:46 ojab set messages: +
2011-08-05 16:26:58 eric.araujo set nosy: + eric.araujomessages: + title: Allow configparser to process suplicate options -> Add support for duplicate options in configparser
2011-07-31 13:17:59 georg.brandl set assignee: lukasz.langanosy: + lukasz.langa
2011-07-31 13:09:11 ojab create