Merge pull request #2303 from kevinoid/bandit-use-config

python/bandit: Use .bandit configuration file
This commit is contained in:
w0rp 2019-02-20 09:58:02 +00:00 committed by GitHub
commit 8012e5b60f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 42 additions and 0 deletions

View File

@ -3,6 +3,7 @@
call ale#Set('python_bandit_executable', 'bandit') call ale#Set('python_bandit_executable', 'bandit')
call ale#Set('python_bandit_options', '') call ale#Set('python_bandit_options', '')
call ale#Set('python_bandit_use_config', 1)
call ale#Set('python_bandit_use_global', get(g:, 'ale_use_global_executables', 0)) call ale#Set('python_bandit_use_global', get(g:, 'ale_use_global_executables', 0))
call ale#Set('python_bandit_auto_pipenv', 0) call ale#Set('python_bandit_auto_pipenv', 0)
@ -22,6 +23,14 @@ function! ale_linters#python#bandit#GetCommand(buffer) abort
let l:flags = ' --format custom' let l:flags = ' --format custom'
\ . ' --msg-template "{line}:{test_id}:{severity}:{msg}" ' \ . ' --msg-template "{line}:{test_id}:{severity}:{msg}" '
if ale#Var(a:buffer, 'python_bandit_use_config')
let l:config_path = ale#path#FindNearestFile(a:buffer, '.bandit')
if !empty(l:config_path)
let l:flags = ' --ini ' . ale#Escape(l:config_path) . l:flags
endif
endif
let l:exec_args = l:executable =~? 'pipenv$' let l:exec_args = l:executable =~? 'pipenv$'
\ ? ' run bandit' \ ? ' run bandit'
\ : '' \ : ''

View File

@ -90,6 +90,17 @@ g:ale_python_bandit_options *g:ale_python_bandit_options*
bandit invocation. bandit invocation.
g:ale_python_bandit_use_config *g:ale_python_bandit_use_config*
*b:ale_python_bandit_use_config*
Type: |Number|
Default: `1`
If this variable is true and a `.bandit` file exists in the directory of the
file being checked or a parent directory, an `--ini` option is added to the
`bandit` command for the nearest `.bandit` file. Set this variable false to
disable adding the `--ini` option automatically.
g:ale_python_bandit_use_global *g:ale_python_bandit_use_global* g:ale_python_bandit_use_global *g:ale_python_bandit_use_global*
*b:ale_python_bandit_use_global* *b:ale_python_bandit_use_global*
Type: |Number| Type: |Number|

View File

@ -47,3 +47,25 @@ Execute(Pipenv is detected when python_bandit_auto_pipenv is set):
\ . ' run bandit' \ . ' run bandit'
\ . b:bandit_flags \ . b:bandit_flags
\ . ' -' \ . ' -'
Execute(The bandit command callback should add .bandit by default):
silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_bandit/namespace/foo/bar.py')
let b:config_path = ale#path#Simplify(
\ g:dir . '/python_paths/with_bandit/.bandit'
\)
AssertLinter 'bandit',
\ ale#Escape('bandit')
\ . ' --ini ' . ale#Escape(b:config_path)
\ . b:bandit_flags
\ . ' -'
Execute(The bandit command callback should support not using .bandit):
silent execute 'file ' . fnameescape(g:dir . '/python_paths/with_bandit/subdir/foo/bar.py')
let g:ale_python_bandit_use_config = 0
AssertLinter 'bandit',
\ ale#Escape('bandit')
\ . b:bandit_flags
\ . ' -'