def handle()

in privaterelay/management/commands/cleanup_data.py [0:0]


    def handle(self, clean: bool, verbosity: int, *args: Any, **kwargs: Any) -> str:
        """Run the cleanup_data command."""

        # Determine if we're running some tasks or the full set
        run_some: list[str] = []
        for name, val in kwargs.items():
            slug = name.replace("_", "-")
            if slug in self.tasks and val:
                run_some.append(slug)
        if run_some:
            tasks = {slug: self.tasks[slug] for slug in sorted(run_some)}
        else:
            tasks = self.tasks

        # Find data issues and clean them if requested
        issue_count = 0
        clean_count = 0
        issue_timers: dict[str, float] = {}
        clean_timers: dict[str, float] = {}
        for slug, task in tasks.items():
            with transaction.atomic():
                task_issues, task_time = self.find_issues_in_task(task)
                issue_count += task_issues
                issue_timers[slug] = task_time

                if clean:
                    task_cleaned, clean_time = self.clean_issues_in_task(task)
                    if task_cleaned is not None and clean_time is not None:
                        clean_count += task_cleaned
                        clean_timers[slug] = clean_time

        # Log results and create a report, based on requested verbosity
        if clean:
            log_message = (
                f"cleanup_data complete, cleaned {clean_count} of"
                f" {issue_count} issue{'' if issue_count==1 else 's'}."
            )
        else:
            log_message = (
                f"cleanup_data complete, found {issue_count}"
                f" issue{'' if issue_count==1 else 's'} (dry run)."
            )

        full_data, log_data = self.prepare_data(
            clean, verbosity, tasks, issue_timers, clean_timers=clean_timers
        )
        logger.info(log_message, extra=log_data)
        report = self.get_report(log_message, full_data)
        return report