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}" '^.*:.*:.*:' \

Reply via email to