Source code for credsweeper.ml_model.features.search_in_attribute
import re
from credsweeper.credentials.candidate import Candidate
from credsweeper.ml_model.features.feature import Feature
[docs]
class SearchInAttribute(Feature):
"""Abstract feature returns boolean for matched pattern in member of first LineData"""
def __init__(self, pattern: str, attribute: str):
super().__init__()
self.pattern = re.compile(pattern)
self.attribute = attribute
[docs]
def extract(self, candidate: Candidate) -> float:
"""Returns boolean for first LineData member"""
if attribute := getattr(candidate.line_data_list[0], self.attribute, None):
if self.pattern.search(attribute):
return 1.0
return -1.0