def is_visible()

in libmozevent/phabricator.py [0:0]


    def is_visible(self, build):
        """
        Check the visibility of the revision by loading its details
        """
        assert isinstance(build, PhabricatorBuild)
        assert build.state == PhabricatorBuildState.Queued
        try:
            # Load revision with projects
            build.revision = self.api.load_revision(
                rev_id=build.revision_id,
                attachments={"projects": True, "reviewers": True},
            )
            if not build.revision:
                raise Exception("Not found")

            # Check against secure projects
            projects = set(build.revision["attachments"]["projects"]["projectPHIDs"])
            if projects.intersection(self.secure_projects):
                raise Exception("Secure revision")
        except Exception as e:
            logger.info("Revision not accessible", build=str(build), error=str(e))
            return False

        return True