Skip to content

Commit b261af9

Browse files
authored
Catch value error when performing audit hightlight line if the secret is not found on that line, instead of breaking the tool (#568)
1 parent 8996b7a commit b261af9

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

Diff for: detect_secrets/util/code_snippet.py

+13-9
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
from .color import AnsiColor
55
from .color import colorize
6+
from detect_secrets.exceptions import SecretNotFoundOnSpecifiedLineError
67

78

89
def get_code_snippet(
@@ -71,16 +72,19 @@ def highlight_line(self, payload: str) -> 'CodeSnippet':
7172
"""
7273
:param payload: string to highlight, on chosen line
7374
"""
74-
index_of_payload = self.target_line.lower().index(payload.lower())
75-
end_of_payload = index_of_payload + len(payload)
76-
77-
self.target_line = u'{}{}{}'.format(
78-
self.target_line[:index_of_payload],
79-
self.apply_highlight(self.target_line[index_of_payload:end_of_payload]),
80-
self.target_line[end_of_payload:],
81-
)
75+
try:
76+
index_of_payload = self.target_line.lower().index(payload.lower())
77+
end_of_payload = index_of_payload + len(payload)
78+
79+
self.target_line = u'{}{}{}'.format(
80+
self.target_line[:index_of_payload],
81+
self.apply_highlight(self.target_line[index_of_payload:end_of_payload]),
82+
self.target_line[end_of_payload:],
83+
)
8284

83-
return self
85+
return self
86+
except ValueError:
87+
raise SecretNotFoundOnSpecifiedLineError(self.target_index)
8488

8589
def get_line_number(self, line_number: int) -> str:
8690
"""Broken out, for custom colorization."""

0 commit comments

Comments
 (0)