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