It was bound to happen: somebody changed their password to something
with a percent sign in it, and it broke the secret ConfigParser
interpolation that I didn't know existed. Nobody is interpolating
usernames or version numbers into their password fields (if you are;
see you in hell), so passing interpolation=None to our ConfigParser
instantiation should fix the issue.
# Default to success, change it if anything fails.
status = EXIT_OK
-# Parse the configuration file...
-config = configparser.ConfigParser()
+# Parse the configuration file. In this contect "interpolation" is
+# something completely berserk, and it breaks passwords containing '%'
+# characters. So, we turn it off.
+config = configparser.ConfigParser(interpolation=None)
config.read(args.config_file)
# And loop through each section.