Skip to content

Commit 7b64e36

Browse files
committed
Adding option to not print line's number: --no-line-numbers
1 parent 9705a71 commit 7b64e36

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

bandit/cli/main.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,15 @@ def main():
367367
default=False,
368368
help="exit with 0, " "even with results found",
369369
)
370+
parser.add_argument(
371+
"-no",
372+
"--no-line-numbers",
373+
dest="no_line_numbers",
374+
action="store",
375+
default=False,
376+
type=str,
377+
help="flag for not showing code line's",
378+
)
370379
python_ver = sys.version.replace("\n", "")
371380
parser.add_argument(
372381
"--version",
@@ -451,6 +460,9 @@ def main():
451460
args.confidence = 4
452461
# Other strings will be blocked by argparse
453462

463+
if args.no_line_numbers is not None:
464+
os.environ["BANDIT_NO_LINES"] = args.no_line_numbers
465+
454466
try:
455467
b_conf = b_config.BanditConfig(config_file=args.config_file)
456468
except utils.ConfigError as e:
@@ -593,6 +605,13 @@ def main():
593605
"path of a baseline report",
594606
)
595607

608+
args.no_line_numbers = _log_option_source(
609+
parser.get_default("no_line_numbers"),
610+
args.baseline,
611+
ini_options.get("no-line-numbers"),
612+
"do not print code's lines.",
613+
)
614+
596615
if not args.targets:
597616
parser.print_usage()
598617
sys.exit(2)

bandit/core/issue.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#
44
# SPDX-License-Identifier: Apache-2.0
55
import linecache
6+
import os
67

78
from bandit.core import constants
89

@@ -178,7 +179,11 @@ def get_code(self, max_lines=3, tabbed=False):
178179
for line_num in range(1, lmin):
179180
self.fdata.readline()
180181

181-
tmplt = "%i\t%s" if tabbed else "%i %s"
182+
no_lines = os.getenv("BANDIT_NO_LINES")
183+
if no_lines == "True" or no_lines == "true" or no_lines == "TRUE":
184+
tmplt = "\t%s" if tabbed else " %s"
185+
else:
186+
tmplt = "%i\t%s" if tabbed else "%i %s"
182187
for line in range(lmin, lmax):
183188
if self.fname == "<stdin>":
184189
text = self.fdata.readline()
@@ -190,7 +195,11 @@ def get_code(self, max_lines=3, tabbed=False):
190195

191196
if not len(text):
192197
break
193-
lines.append(tmplt % (line, text))
198+
if no_lines == "True" or no_lines == "true" or no_lines == "TRUE":
199+
lines.append(tmplt % (text))
200+
else:
201+
lines.append(tmplt % (line, text))
202+
194203
return "".join(lines)
195204

196205
def as_dict(self, with_code=True):

0 commit comments

Comments
 (0)