This is an automated email from the ASF dual-hosted git repository.
aw pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/yetus.git
The following commit(s) were added to refs/heads/main by this push:
new 5777ecf YETUS-1122. pylint: provide option to ignore
'bad-option-value' (#218)
5777ecf is described below
commit 5777ecf6adb33c2df01a5da36ee057935bd099b3
Author: Allen Wittenauer <[email protected]>
AuthorDate: Sun Sep 26 20:56:40 2021 -0700
YETUS-1122. pylint: provide option to ignore 'bad-option-value' (#218)
---
.../in-progress/precommit/plugins/pylint.html.md | 1 +
precommit/src/main/shell/plugins.d/pylint.sh | 15 +++++++++++++++
2 files changed, 16 insertions(+)
diff --git
a/asf-site-src/source/documentation/in-progress/precommit/plugins/pylint.html.md
b/asf-site-src/source/documentation/in-progress/precommit/plugins/pylint.html.md
index 44b8b6c..931c0c8 100644
---
a/asf-site-src/source/documentation/in-progress/precommit/plugins/pylint.html.md
+++
b/asf-site-src/source/documentation/in-progress/precommit/plugins/pylint.html.md
@@ -38,6 +38,7 @@ None
| Option | Notes |
|:---------|:------|
| `--pylint=<file>` | Location of the `pylint` binary if it is not on the
path. Default is 'pylint'. |
+| `--pylint-ignore-bad-option-value=<bool>` | Ignore `bad-option-value`
errors. Default is 'true' |
| `--pylint-pip-cmd=<file>` | Location of the `pip` binary for install
requirements.txt files. Default is 'pip'. |
| `--pylint-rcfile=<file>` | Location of the `.pylintrc` file to override
`pylint` default. |
| `--pylint-requirements=<bool>` | Process any `requirements.txt` file.
Default is 'false'. |
diff --git a/precommit/src/main/shell/plugins.d/pylint.sh
b/precommit/src/main/shell/plugins.d/pylint.sh
index 0da225f..e6391aa 100755
--- a/precommit/src/main/shell/plugins.d/pylint.sh
+++ b/precommit/src/main/shell/plugins.d/pylint.sh
@@ -25,14 +25,17 @@ PYLINT=${PYLINT:-$(command -v pylint 2>/dev/null)}
PYLINT_PIP_CMD=$(command -v pip 2>/dev/null)
PYLINT_REQUIREMENTS=false
PYLINT_PIP_USER=true
+PYLINT_IGNORE_BAD_OPTION_VALUE=true
function pylint_usage
{
yetus_add_option "--pylint=<file>" "Filename of the pylint executable
(default: ${PYLINT})"
+ yetus_add_option "--pylint-ignore-bad-option-value=<bool>" "Ignore
'bad-option-value' errors (default: ${PYLINT_IGNORE_BAD_OPTION_VALUE})"
yetus_add_option "--pylint-pip-cmd=<file>" "Command to use for pip when
installing requirements.txt (default: ${PYLINT_PIP_CMD})"
yetus_add_option "--pylint-rcfile=<file>" "pylint configuration file"
yetus_add_option "--pylint-requirements=<bool>" "pip install
requirements.txt (default: ${PYLINT_REQUIREMENTS})"
yetus_add_option "--pylint-use-user=<bool>" "Use --user for the
requirements.txt (default: ${PYLINT_PIP_USER})"
+
}
function pylint_parse_args
@@ -45,6 +48,10 @@ function pylint_parse_args
delete_parameter "${i}"
PYLINT=${i#*=}
;;
+ --pylint-ignore-bad-option-value=*)
+ delete_parameter "${i}"
+ PYLINT_IGNORE_BAD_OPTION_VALUE=${i#*=}
+ ;;
--pylint-pip-cmd=*)
delete_parameter "${i}"
PYLINT_PIP_CMD=${i#*=}
@@ -159,6 +166,14 @@ function pylint_executor
fi
done
+ if [[ ${PYLINT_IGNORE_BAD_OPTION_VALUE} == "true" ]]; then
+ "${GREP}" -v 'bad-option-value' \
+ "${PATCH_DIR}/${repostatus}-pylint-result.tmp" \
+ > "${PATCH_DIR}/${repostatus}-pylint-result.tmp.1"
+ mv "${PATCH_DIR}/${repostatus}-pylint-result.tmp.1" \
+ "${PATCH_DIR}/${repostatus}-pylint-result.tmp"
+ fi
+
# pylint likes to put extra headers and
# stuff, so need to look specifically for our content
"${GREP}" '^.*:.*:.*:' \