diff --git a/src/formatters/html_formatter.py b/src/formatters/html_formatter.py index a4cf964..54bee65 100644 --- a/src/formatters/html_formatter.py +++ b/src/formatters/html_formatter.py @@ -2,7 +2,6 @@ from datetime import datetime from typing import Any from jinja2 import Template - from src.formatters.base import BaseFormatter @@ -16,19 +15,20 @@ HTML_TEMPLATE = """ @@ -39,31 +39,22 @@ HTML_TEMPLATE = """ {% if commit_analysis %}

Commit Analysis

-
-
-
{{ commit_analysis.total_commits }}
-
Total Commits
-
-
-
{{ commit_analysis.unique_authors }}
-
Authors
-
-
-
{{ "%.1f"|format(commit_analysis.average_commits_per_day) }}
-
Avg/Day
-
+
+
{{ commit_analysis.total_commits }}
+
Total Commits
+
+
+
{{ commit_analysis.unique_authors }}
+
Authors
+
+
+
{{ "%.1f"|format(commit_analysis.average_commits_per_day) }}
+
Avg/Day
- -

Top Contributors

- + {% for author in commit_analysis.top_authors[:5] %} - - - - - - + {% endfor %}
AuthorCommitsLines +Lines -
AuthorCommits
{{ author.name }}{{ author.commit_count }}{{ author.lines_added }}{{ author.lines_deleted }}
{{ author.name }}{{ author.commit_count }}
@@ -72,19 +63,17 @@ HTML_TEMPLATE = """ {% if velocity_analysis %}

Velocity Analysis

-
-
-
{{ velocity_analysis.commits_per_day }}
-
Commits/Day
-
-
-
{{ velocity_analysis.commits_per_week }}
-
Commits/Week
-
-
-
{{ velocity_analysis.velocity_trend|capitalize }}
-
Trend
-
+
+
{{ "%.1f"|format(velocity_analysis.commits_per_day) }}
+
Commits/Day
+
+
+
{{ "%.1f"|format(velocity_analysis.commits_per_week) }}
+
Commits/Week
+
+
+
{{ velocity_analysis.velocity_trend|capitalize }}
+
Trend
{% endif %} @@ -92,40 +81,32 @@ HTML_TEMPLATE = """ {% if code_churn_analysis %}

Code Churn

-
-
-
+{{ code_churn_analysis.total_lines_added }}
-
Lines Added
-
-
-
-{{ code_churn_analysis.total_lines_deleted }}
-
Lines Deleted
-
-
-
{{ code_churn_analysis.net_change }}
-
Net Change
-
+
+
{{ code_churn_analysis.total_lines_added }}
+
Lines Added
+
+
+
{{ code_churn_analysis.total_lines_deleted }}
+
Lines Deleted
+
+
+
{{ code_churn_analysis.net_change }}
+
Net Change
{% endif %} - {% if risky_commit_analysis and risky_commit_analysis.total_risky > 0 %} + {% if risky_commit_analysis %}

Risky Commits

-

{{ risky_commit_analysis.total_risky }} potentially risky commits detected

- {% if risky_commit_analysis.large_commits %} -

Large Commits ({{ risky_commit_analysis.large_commits|length }})

- - - {% for commit in risky_commit_analysis.large_commits[:5] %} - - - - - - {% endfor %} -
SHAAuthorChanges
{{ commit.sha }}{{ commit.author_name }}+{{ commit.additions }} / -{{ commit.deletions }}
- {% endif %} +
+
{{ risky_commit_analysis.total_risky_commits }}
+
Total Risky
+
+
+
{{ "%.1f"|format(risky_commit_analysis.risk_score) }}%
+
Risk Score
+
{% endif %}
@@ -144,8 +125,8 @@ class HTMLFormatter(BaseFormatter): return template.render( timestamp=datetime.now().isoformat(), - commit_analysis=getattr(data, "commit_analysis", None), - velocity_analysis=getattr(data, "velocity_analysis", None), - code_churn_analysis=getattr(data, "code_churn_analysis", None), - risky_commit_analysis=getattr(data, "risky_commit_analysis", None), + commit_analysis=data.commit_analysis if hasattr(data, "commit_analysis") else None, + velocity_analysis=data.velocity_analysis if hasattr(data, "velocity_analysis") else None, + code_churn_analysis=data.code_churn_analysis if hasattr(data, "code_churn_analysis") else None, + risky_commit_analysis=data.risky_commit_analysis if hasattr(data, "risky_commit_analysis") else None, )