Restore the ability to use inline comments in config files

The ability was lost in the switch to Python 3, because the config
parser module in the standard library changed its defaults.

[Python 2][2]:

> Comments may appear on their own in an otherwise empty line, or
> may be entered in lines holding values or section names.

[Python 3][3]:

> Inline comments can be harmful because they prevent users
> from using the delimiting characters as parts of values.
> That being said, this can be customized.

[2]: https://docs.python.org/2/library/configparser.html#module-ConfigParser
[3]: https://docs.python.org/3/library/configparser.html#supported-ini-file-structure

Signed-off-by: Neil Mayhew <neil@neil.mayhew.name>
This commit is contained in:
Neil Mayhew
2020-01-31 14:35:12 -07:00
parent 8428b69448
commit dca9fcb7dc
2 changed files with 4 additions and 3 deletions

View File

@@ -229,13 +229,13 @@ The configuration file is stored in `$XDG_CONFIG_HOME/whipper/whipper.conf`, or
See [XDG Base Directory
Specification](http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html)
and [ConfigParser](https://docs.python.org/3/library/configparser.html).
and [ConfigParser](https://docs.python.org/3/library/configparser.html) with `inline_comment_prefixes=(';')`.
The configuration file consists of newline-delineated `[sections]`
containing `key = value` pairs. The sections `[main]` and
`[musicbrainz]` are special config sections for options not accessible
from the command line interface. Sections beginning with `drive` are
written by whipper; certain values should not be edited.
written by whipper; certain values should not be edited. Inline comments can be added using `;`.
Example configuration demonstrating all `[main]` and `[musicbrainz]`
options:

View File

@@ -36,7 +36,8 @@ class Config:
def __init__(self, path=None):
self._path = path or directory.config_path()
self._parser = configparser.ConfigParser()
self._parser = configparser.ConfigParser(
inline_comment_prefixes=(';'))
self.open()