From 43449dea6ad4f77af3290b12ba5cbae83bfb98d8 Mon Sep 17 00:00:00 2001 From: Claudiu Popa Date: Tue, 5 May 2020 14:05:26 +0200 Subject: [PATCH] ``pylint.Run`` accepts ``do_exit`` as a deprecated parameter We need to allow various third party libraries that depend on `pylint` to still use `do_exit` until they can move over to `exit`. Close #3590 --- ChangeLog | 10 ++++++++++ pylint/lint/run.py | 14 +++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2fd40564c7..33d3054aca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,16 @@ Release date: TBA * Add `super-with-arguments` check for flagging instances of Python 2 style super calls. +What's New in Pylint 2.5.2? +=========================== + +Release date: 2020-05-05 + +* ``pylint.Run`` accepts ``do_exit`` as a deprecated parameter + + Close #3590 + + What's New in Pylint 2.5.1? =========================== diff --git a/pylint/lint/run.py b/pylint/lint/run.py index 7044805699..ac63c8e445 100644 --- a/pylint/lint/run.py +++ b/pylint/lint/run.py @@ -3,6 +3,7 @@ import os import sys +import warnings from pylint import __pkginfo__, config, extensions, interfaces from pylint.lint.pylinter import PyLinter @@ -47,6 +48,9 @@ def cb_init_hook(optname, value): exec(value) # pylint: disable=exec-used +UNUSED_PARAM_SENTINEL = object() + + class Run: """helper class to use as main for pylint : @@ -67,7 +71,7 @@ def _return_one(*args): # pylint: disable=unused-argument return 1 def __init__( - self, args, reporter=None, exit=True + self, args, reporter=None, exit=True, do_exit=UNUSED_PARAM_SENTINEL, ): # pylint: disable=redefined-builtin self._rcfile = None self._plugins = [] @@ -338,6 +342,14 @@ def __init__( linter.check(args) score_value = linter.generate_reports() + + if do_exit is not UNUSED_PARAM_SENTINEL: + warnings.warn( + "do_exit is deprecated and it is going to be removed in a future version.", + DeprecationWarning, + ) + exit = do_exit + if exit: if linter.config.exit_zero: sys.exit(0)