def pull_requests()

in asfyaml/feature/github/pull_requests.py [0:0]


def pull_requests(self: ASFGitHubFeature):
    # retrieve the legacy "del_branch_on_merge" setting from the github object
    legacy_del_branch_on_merge = self.yaml.get("del_branch_on_merge", NotSet)

    pull_requests = self.yaml.get("pull_requests")
    if pull_requests:
        allow_auto_merge = pull_requests.get("allow_auto_merge", NotSet)
        allow_update_branch = pull_requests.get("allow_update_branch", NotSet)
        del_branch_on_merge = pull_requests.get("del_branch_on_merge", NotSet)

        if is_defined(legacy_del_branch_on_merge):
            raise Exception(
                "found legacy setting 'github.del_branch_on_merge' while "
                "'github.pull_requests' is present. Move setting to 'github.pull_requests'"
            )
    else:
        allow_auto_merge = NotSet
        allow_update_branch = NotSet
        del_branch_on_merge = legacy_del_branch_on_merge

    # check if we have any defined property
    any_defined_property = any(
        map(lambda x: is_defined(x), (del_branch_on_merge, allow_auto_merge, allow_update_branch))
    )

    if any_defined_property and not self.noop("pull_requests"):
        if is_defined(allow_auto_merge):
            print(f"Setting allow_auto_merge to '{allow_auto_merge}'")

        if is_defined(allow_update_branch):
            print(f"Setting allow_update_branch to '{allow_update_branch}'")

        if is_defined(del_branch_on_merge):
            print(f"Setting del_branch_on_merge to '{del_branch_on_merge}'")

        self.ghrepo.edit(
            allow_auto_merge=allow_auto_merge,
            allow_update_branch=allow_update_branch,
            delete_branch_on_merge=del_branch_on_merge,
        )