Generate a summary report of all indexes created
(self, output_files: Dict[str, str])
| 1427 | return str(stats_path) |
| 1428 | |
| 1429 | def generate_summary_report(self, output_files: Dict[str, str]) -> str: |
| 1430 | """Generate a summary report of all indexes created""" |
| 1431 | report_path = self.output_dir / "indexing_summary.json" |
| 1432 | |
| 1433 | # Get output configuration from config file |
| 1434 | output_config = self.indexer_config.get("output", {}) |
| 1435 | json_indent = output_config.get("json_indent", 2) |
| 1436 | ensure_ascii = not output_config.get("ensure_ascii", False) |
| 1437 | |
| 1438 | summary_data = { |
| 1439 | "indexing_completion_time": datetime.now().isoformat(), |
| 1440 | "total_repositories_processed": len(output_files), |
| 1441 | "output_files": output_files, |
| 1442 | "target_structure": self.target_structure, |
| 1443 | "code_base_path": str(self.code_base_path), |
| 1444 | "configuration": { |
| 1445 | "config_file_used": self.indexer_config_path, |
| 1446 | "api_config_file": self.config_path, |
| 1447 | "pre_filtering_enabled": self.enable_pre_filtering, |
| 1448 | "min_confidence_score": self.min_confidence_score, |
| 1449 | "high_confidence_threshold": self.high_confidence_threshold, |
| 1450 | "max_file_size": self.max_file_size, |
| 1451 | "max_content_length": self.max_content_length, |
| 1452 | "request_delay": self.request_delay, |
| 1453 | "supported_extensions_count": len(self.supported_extensions), |
| 1454 | "skip_directories_count": len(self.skip_directories), |
| 1455 | }, |
| 1456 | } |
| 1457 | |
| 1458 | with open(report_path, "w", encoding="utf-8") as f: |
| 1459 | json.dump(summary_data, f, indent=json_indent, ensure_ascii=ensure_ascii) |
| 1460 | |
| 1461 | return str(report_path) |
| 1462 | |
| 1463 | |
| 1464 | async def main(): |
no test coverage detected