Show matching line
{content_formatted[:2000]}
#!/usr/bin/env python3 """Generate interactive HTML report for resource lifecycle analysis.""" import json import sys import hashlib from datetime import datetime from pathlib import Path def generate_html_report(entries, prowjob_name, build_id, target, resource_name, gcsweb_url, file_mapping=None): """Generate an interactive HTML report.""" # Default to empty dict if no file mapping provided if file_mapping is None: file_mapping = {} # Calculate time range timestamps = [e['timestamp'] for e in entries if e['timestamp']] if timestamps: min_time = min(timestamps) max_time = max(timestamps) time_range_seconds = (max_time - min_time).total_seconds() else: min_time = max_time = None time_range_seconds = 1 total_entries = len(entries) audit_entries = len([e for e in entries if e['source'] == 'audit']) pod_entries = len([e for e in entries if e['source'] == 'pod']) # Parse resource_name to extract searched resources # resource_name could be a single name or a regex pattern like "res1|res2" if '|' in resource_name: # Regex pattern with multiple resources resources_list = sorted(resource_name.split('|')) else: # Single resource or pattern - just use as-is resources_list = [resource_name] # Group by verb verb_counts = {} for e in entries: verb = e.get('verb', 'unknown') verb_counts[verb] = verb_counts.get(verb, 0) + 1 html = f'''
{content_formatted[:2000]}