mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-21 16:19:21 +00:00
9e0baf370a
git is the source of truth for the copyright, copyrite (the tool) was taking exponentially longer with each release, and it's polluting the code with sometime as much as 50 lines of names.
29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
# 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
|
|
# Copyright (c) https://github.com/PyCQA/pylint/graphs/contributors
|
|
|
|
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)
|