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 (Yelp#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)