Source code for censys.asm.assets.subdomains

"""Interact with the Censys Subdomain Assets API."""
from typing import Any, Dict, Iterator, List, Optional

from .assets import Assets


[docs] class SubdomainsAssets(Assets): """Subdomains Assets API class.""" def __init__(self, *args, **kwargs): """Inits SubdomainsAssets. Args: *args: Variable length argument list. **kwargs: Arbitrary keyword arguments. """ super().__init__("subdomains", *args, **kwargs)
[docs] def get_assets( self, page_number: int = 1, page_size: Optional[int] = None, tag: Optional[List[str]] = None, tag_operator: Optional[str] = None, source: Optional[List[str]] = None, discovery_trail: Optional[bool] = None, ) -> Iterator[dict]: """Requests assets data. Override for subdomains due to it return value in a different key. Args: page_number (int): Optional; Page number to begin at when searching. page_size (int): Optional; Page size for retrieving assets. tag (list): Optional; List of tags to search for. tag_operator (str): Optional; Operator to use when searching for tags. source (list): Optional; List of sources to search for. discovery_trail (bool): Optional; Bool indicating whether to return discovery trail. Yields: dict: The assets result returned. """ args: Dict[str, Any] = {} if tag: args["tag"] = tag if tag_operator: args["tagOperator"] = tag_operator if source: args["source"] = source if discovery_trail: args["discoveryTrail"] = discovery_trail yield from self._get_page( self.base_path, page_number=page_number, page_size=page_size, args=args, keyword="subdomains", )