summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Sassoulas <pierre.sassoulas@gmail.com>2020-05-03 20:24:32 +0200
committerPierre Sassoulas <pierre.sassoulas@gmail.com>2020-05-10 11:02:10 +0200
commit7831157f47800edc929be9b3c13f6d19f9a0645b (patch)
treed125b398b8d8aecfb4ba4b6fe92fceca7f2e3cdf
parent4756b3c611ef710c99b51d2fe5f04d72b28e75d6 (diff)
downloadpylint-git-7831157f47800edc929be9b3c13f6d19f9a0645b.tar.gz
The full version is a constant we can just import it
-rw-r--r--pylint/__pkginfo__.py1
-rw-r--r--pylint/config/option_manager_mixin.py8
-rw-r--r--pylint/config/option_parser.py5
-rw-r--r--pylint/constants.py12
-rw-r--r--pylint/lint/pylinter.py8
5 files changed, 21 insertions, 13 deletions
diff --git a/pylint/__pkginfo__.py b/pylint/__pkginfo__.py
index 9bbd0ce31..f6660504f 100644
--- a/pylint/__pkginfo__.py
+++ b/pylint/__pkginfo__.py
@@ -25,6 +25,7 @@
# pylint: disable=redefined-builtin,invalid-name
"""pylint packaging information"""
+
from os.path import join
# For an official release, use dev_version = None
diff --git a/pylint/config/option_manager_mixin.py b/pylint/config/option_manager_mixin.py
index 7ba99fa71..fafc3fd7d 100644
--- a/pylint/config/option_manager_mixin.py
+++ b/pylint/config/option_manager_mixin.py
@@ -55,9 +55,9 @@ def _patch_optparse():
class OptionsManagerMixIn:
"""Handle configuration from both a configuration file and command line options"""
- def __init__(self, usage, config_file=None, version=None):
+ def __init__(self, usage, config_file=None):
self.config_file = config_file
- self.reset_parsers(usage, version=version)
+ self.reset_parsers(usage)
# list of registered options providers
self.options_providers = []
# dictionary associating option name to checker
@@ -68,13 +68,13 @@ class OptionsManagerMixIn:
# verbosity
self._maxlevel = 0
- def reset_parsers(self, usage="", version=None):
+ def reset_parsers(self, usage=""):
# configuration file parser
self.cfgfile_parser = configparser.ConfigParser(
inline_comment_prefixes=("#", ";")
)
# command line parser
- self.cmdline_parser = OptionParser(Option, usage=usage, version=version)
+ self.cmdline_parser = OptionParser(Option, usage=usage)
self.cmdline_parser.options_manager = self
self._optik_option_attrs = set(self.cmdline_parser.option_class.ATTRS)
diff --git a/pylint/config/option_parser.py b/pylint/config/option_parser.py
index 36ebbe5fa..266631403 100644
--- a/pylint/config/option_parser.py
+++ b/pylint/config/option_parser.py
@@ -4,6 +4,7 @@
import optparse
from pylint.config.option import Option
+from pylint.constants import full_version
def _level_options(group, outputlevel):
@@ -17,7 +18,9 @@ def _level_options(group, outputlevel):
class OptionParser(optparse.OptionParser):
def __init__(self, option_class, *args, **kwargs):
- optparse.OptionParser.__init__(self, option_class=Option, *args, **kwargs)
+ optparse.OptionParser.__init__(
+ self, option_class=Option, *args, version=full_version, **kwargs
+ )
def format_option_help(self, formatter=None):
if formatter is None:
diff --git a/pylint/constants.py b/pylint/constants.py
index 726643718..d3a0392df 100644
--- a/pylint/constants.py
+++ b/pylint/constants.py
@@ -2,6 +2,11 @@
# For details: https://github.com/PyCQA/pylint/blob/master/COPYING
import re
+import sys
+
+from astroid.__pkginfo__ import version as astroid_version
+
+from pylint.__pkginfo__ import version as pylint_version
# Allow stopping after the first semicolon/hash encountered,
# so that an option can be continued with the reasons
@@ -39,3 +44,10 @@ MAIN_CHECKER_NAME = "master"
class WarningScope:
LINE = "line-based-msg"
NODE = "node-based-msg"
+
+
+full_version = "pylint %s\nastroid %s\nPython %s" % (
+ pylint_version,
+ astroid_version,
+ sys.version,
+)
diff --git a/pylint/lint/pylinter.py b/pylint/lint/pylinter.py
index eafd7216d..56eb93c42 100644
--- a/pylint/lint/pylinter.py
+++ b/pylint/lint/pylinter.py
@@ -14,11 +14,9 @@ from io import TextIOWrapper
import astroid
from astroid import modutils
-from astroid.__pkginfo__ import version as astroid_version
from astroid.builder import AstroidBuilder
from pylint import checkers, config, exceptions, interfaces, reporters
-from pylint.__pkginfo__ import version
from pylint.constants import MAIN_CHECKER_NAME, MSG_TYPES
from pylint.lint.check_parallel import check_parallel
from pylint.lint.report_functions import (
@@ -448,16 +446,10 @@ class PyLinter(
"disable-msg": self.disable,
"enable-msg": self.enable,
}
- full_version = "pylint %s\nastroid %s\nPython %s" % (
- version,
- astroid_version,
- sys.version,
- )
MessagesHandlerMixIn.__init__(self)
reporters.ReportsHandlerMixIn.__init__(self)
super().__init__(
usage=__doc__,
- version=full_version,
config_file=pylintrc or next(config.find_default_config_files(), None),
)
checkers.BaseTokenChecker.__init__(self)