Source code for datadiligence.evaluators.postprocess

"""Postprocess evaluator module."""

from .base import Evaluator
from ..rules import XRobotsTagHeader, TDMRepHeader, C2PAMetadataRule


[docs] class PostprocessEvaluator(Evaluator): """ Postprocess Evaluator class. Loads XRobotsTagHeader, TDMRepHeader, and C2PAMetadata rules by default. """ name = "postprocess" def __init__(self, user_agent=None): super().__init__() self.add_rule(XRobotsTagHeader(user_agent)) self.add_rule(TDMRepHeader()) self.add_rule(C2PAMetadataRule())
[docs] def is_allowed(self, **kwargs): """Check if the headers are allowed based on the rules in this evaluator. Args: **url (str): The URL of the request. **response (http.client.HTTPResponse|requests.Response): The response object. **headers (dict|http.client.HTTPMessage): The headers dictionary. Returns: bool: True if the content is allowed, False otherwise. """ for rule in self.rules: if rule.is_ready() and not rule.is_allowed(**kwargs): return False return True