bot: use optionxform()
-ed setting names for existence check
#2193
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This makes the "setting is defined in section" check case-insensitive, which matches the parsing behavior of
RawConfigParser
.The
ip
plugin has aGeoIP_db_path
setting that will erroneously warn users who set it usingsopel-plugins configure
, because the parser writes out its normalized names (in this case,geoip_db_path
) and then the previous check usinghasattr()
wouldn't find the normalized name.Checklist
make qa
(runsmake quality
andmake test
)GeoIP_db_path
,geoip_db_path
, andi_dont_exist
settings under the[ip]
section all behaved as expected (respectively: silent, silent, warning).Notes
Trivial to backport onto 7.1.x (I've already test-cherry-picked the commit locally; no conflicts), so might as well include it in the upcoming maintenance release we already plan to make.
A nicer future solution could be overriding
StaticSection.__getattr__()
to just always be case insensitive—but such a big change wouldn't fly in a maintenance release.