def generate_report(self): report = Report() projects = self.projects_finder.find_all() if len(projects) == 0: report.message = NO_PROJECTS_FOUND_MESSAGE else: for project in projects: project_report = self._generate_report_for_project(project) if self._any_outdated_requirement(project_report): report.add_project_report(project_report) return report