2020-05-03 11:51:53 +00:00
|
|
|
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
2021-07-01 10:47:58 +00:00
|
|
|
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
|
2022-03-12 11:39:52 +00:00
|
|
|
# Copyright (c) https://github.com/PyCQA/pylint/graphs/contributors
|
2020-05-03 11:51:53 +00:00
|
|
|
|
|
|
|
from pylint.config.option_manager_mixin import OptionsManagerMixIn
|
|
|
|
from pylint.config.options_provider_mixin import OptionsProviderMixIn
|
|
|
|
|
|
|
|
|
|
|
|
class ConfigurationMixIn(OptionsManagerMixIn, OptionsProviderMixIn):
|
2021-12-21 22:44:51 +00:00
|
|
|
"""Basic mixin for simple configurations which don't need the
|
2022-01-02 22:21:23 +00:00
|
|
|
manager / providers model
|
|
|
|
"""
|
2020-05-03 11:51:53 +00:00
|
|
|
|
|
|
|
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)
|