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