Issue 511737: ConfigParser bug/limitation - Python tracker (original) (raw)

This issue has been migrated to GitHub: https://github.com/python/cpython/issues/36013

classification

Title: ConfigParser bug/limitation
Type: enhancement Stage:
Components: Library (Lib) Versions:

process

Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: fdrake Nosy List: fdrake, loicl
Priority: normal Keywords:

Created on 2002-02-01 15:35 by loicl, last changed 2022-04-10 16:04 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
ConfigParser.diff loicl,2002-02-01 15:35 Patch to work around ConfigParser limitation
Messages (5)
msg9083 - (view) Author: Loïc Lefort (loicl) Date: 2002-02-01 15:35
It is not possible to use '%' character in config options in combination with $() substitution. Example: Given this configuration file: [DEFAULT] option1=xxx option2=%(option1)s/xxx ok=%(option1)s/%%s not_ok=%(option2)s/%%s config.get('DEFAULT', 'ok') returns xxx/%s but config.get('DEFAULT', 'not_ok') fails with an exception because the '%' needs to be escaped multiple times depending on the evaluation depth: %(option2)s/%%s -> %(option1)s/xxx/%s -> exception what I would like it to do is: %(option2)s/%%s -> %(option1)s/xxx/%%s -> xxx/xxx/%s Attached to this bug report is a simple patch to work around this limitation (not very elegant, but it works)
msg9084 - (view) Author: Loïc Lefort (loicl) Date: 2002-02-01 15:38
Logged In: YES user_id=78862 Forgot the python version: this problem is present in both python 2.1.2 and python 2.2
msg9085 - (view) Author: Fred Drake (fdrake) (Python committer) Date: 2002-06-17 15:19
Logged In: YES user_id=3066 I'm afraid getting this "right" is going to be much more tedious that the proposed patch. It's unclear to me at the moment whether this should be a documented limitation or if we should really fix it. The ConfigParser module is generally in bad shape, unfortunately. ;-(
msg9086 - (view) Author: Fred Drake (fdrake) (Python committer) Date: 2002-06-21 16:18
Logged In: YES user_id=3066 Re-arranged summary so all ConfigParser reports can be sorted together.
msg9087 - (view) Author: Fred Drake (fdrake) (Python committer) Date: 2002-10-25 21:52
Logged In: YES user_id=3066 I've added the SafeConfigParser class for Python 2.3. This version implements a safer (and more predictable) interpolation. This can't replace the original ConfigParser since the behavior is different, but should be preferred for new applications.
History
Date User Action Args
2022-04-10 16:04:56 admin set github: 36013
2002-02-01 15:35:35 loicl create