in backend/code_review_backend/issues/management/commands/load_issues.py [0:0]
def handle(self, *args, **options):
# Setup cache dir
self.cache_dir = os.path.join(
tempfile.gettempdir(), "code-review-reports", options["environment"]
)
os.makedirs(self.cache_dir, exist_ok=True)
# Load available tasks from Taskcluster or already downloaded
tasks = (
self.load_local_reports()
if options["offline"]
else self.load_tasks(options["environment"])
)
for task_id, report in tasks:
# Build revision & diff
revision, diff = self.build_revision_and_diff(report["revision"], task_id)
if not revision:
continue
# Save all issues in a single db transaction
try:
issues = self.save_issues(diff, report["issues"])
logger.info(f"Imported task {task_id} - {len(issues)}")
except Exception as e:
logger.error(f"Failed to save issues for {task_id}: {e}", exc_info=True)