Skip to content

Commit

Permalink
Read config file without interpolation
Browse files Browse the repository at this point in the history
Some config files use interpolation, some do not:
https://docs.python.org/3/library/configparser.html#interpolation-of-values

Config files might contain occurrences of `%` that should not be
interpolated. When attempting to interpolate them, `ConfigParser`
crashes with:
	ValueError: invalid interpolation syntax

Therefore, we decide to disable interpolation, to avoid crashes.
We do not expect interpolation in the `[codespell]` section, so
it is not a problem in practice.

Alternatively, we could read with interpolation, and in the case of
a ValueError exception, retry without interpolation. However, since
we do not expect interpolation in the `[codespell]` section, I believe
the current solution is simpler, faster, to the point.
  • Loading branch information
DimitriPapadopoulos committed Oct 20, 2022
1 parent a050986 commit e40ea0e
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion codespell_lib/_codespell.py
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ def parse_options(args):
cfg_files = ['setup.cfg', '.codespellrc']
if options.config:
cfg_files.append(options.config)
config = configparser.ConfigParser()
config = configparser.ConfigParser(interpolation=None)

# Read toml before other config files.
toml_files_errors = list()
Expand Down

0 comments on commit e40ea0e

Please sign in to comment.