Source code for credsweeper.deep_scanner.abstract_scanner

from abc import abstractmethod, ABC
from typing import List

from credsweeper.config import Config
from credsweeper.credentials import Candidate
from credsweeper.file_handler.data_content_provider import DataContentProvider
from credsweeper.file_handler.struct_content_provider import StructContentProvider
from credsweeper.scanner import Scanner


[docs] class AbstractScanner(ABC): """Base abstract class for all recursive scanners""" @property @abstractmethod def config(self) -> Config: """Abstract property to be defined in DeepScanner""" raise NotImplementedError(__name__) @property @abstractmethod def scanner(self) -> Scanner: """Abstract property to be defined in DeepScanner""" raise NotImplementedError(__name__)
[docs] @abstractmethod def recursive_scan( self, # data_provider: DataContentProvider, # depth: int = 0, # recursive_limit_size: int = 0) -> List[Candidate]: """Abstract method to be defined in DeepScanner""" raise NotImplementedError(__name__)
[docs] @abstractmethod def structure_scan( self, # struct_provider: StructContentProvider, # depth: int, # recursive_limit_size: int) -> List[Candidate]: """Abstract method to be defined in DeepScanner""" raise NotImplementedError(__name__)