diff options
Diffstat (limited to 'pylint/config/configuration_mixin.py')
-rw-r--r-- | pylint/config/configuration_mixin.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/pylint/config/configuration_mixin.py b/pylint/config/configuration_mixin.py new file mode 100644 index 000000000..deca7f4bc --- /dev/null +++ b/pylint/config/configuration_mixin.py @@ -0,0 +1,26 @@ +# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html +# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE + +from pylint.config.option_manager_mixin import OptionsManagerMixIn +from pylint.config.options_provider_mixin import OptionsProviderMixIn + + +class ConfigurationMixIn(OptionsManagerMixIn, OptionsProviderMixIn): + """basic mixin for simple configurations which don't need the + manager / providers model""" + + def __init__(self, *args, **kwargs): + if not args: + kwargs.setdefault("usage", "") + OptionsManagerMixIn.__init__(self, *args, **kwargs) + OptionsProviderMixIn.__init__(self) + if not getattr(self, "option_groups", None): + self.option_groups = [] + for _, optdict in self.options: + try: + gdef = (optdict["group"].upper(), "") + except KeyError: + continue + if gdef not in self.option_groups: + self.option_groups.append(gdef) + self.register_options_provider(self, own_group=False) |