def __init__()

in libmozevent/phabricator.py [0:0]


    def __init__(self, request):
        self.diff_id = int(request.rel_url.query.get("diff", 0))
        self.repo_phid = request.rel_url.query.get("repo")
        self.revision_id = int(request.rel_url.query.get("revision", 0))
        self.target_phid = request.rel_url.query.get("target")
        self.state = PhabricatorBuildState.Queued
        # Incremented on an unexpected failure during build's push to try
        self.retries = 0

        if (
            not self.diff_id
            or not self.repo_phid
            or not self.revision_id
            or not self.target_phid
        ):
            raise Exception("Invalid webhook parameters")
        assert isinstance(self.revision_id, int), "Revision should be an integer"
        assert isinstance(self.target_phid, str), "Target should be a string"
        assert self.target_phid.startswith("PHID-HMBT-"), "Invalid target format"

        # Remote objects loaded by actions below
        self.revision = None
        self.revision_url = None
        self.reviewers = []
        self.diff = None
        self.stack = []
        self.base_revision = None
        self.missing_base_revision = False
        self.actual_base_revision = None