[31e88f42] Update weekly summary report to use ASCII bar chart as primary visualization
This commit is contained in:
@@ -154,16 +154,6 @@ Fasse dich so kurz und präzise wie möglich. Ignoriere kleine Detail-Änderunge
|
|||||||
print(f"Fehler bei der Gemini-Zusammenfassung für {project_name}: {e}")
|
print(f"Fehler bei der Gemini-Zusammenfassung für {project_name}: {e}")
|
||||||
return f"Fehler bei der Zusammenfassung.\n\nRohdaten:\n{raw_updates}"
|
return f"Fehler bei der Zusammenfassung.\n\nRohdaten:\n{raw_updates}"
|
||||||
|
|
||||||
def generate_mermaid_pie(report_data: Dict) -> str:
|
|
||||||
"""Generates a Mermaid JS pie chart string."""
|
|
||||||
lines = ["```mermaid", "pie title Zeitverteilung nach Projekten (in Stunden)"]
|
|
||||||
for project, p_data in sorted(report_data.items(), key=lambda x: x[1]['invested_hours'], reverse=True):
|
|
||||||
hours = round(p_data['invested_hours'], 1)
|
|
||||||
if hours > 0:
|
|
||||||
lines.append(f' "{project}": {hours}')
|
|
||||||
lines.append("```")
|
|
||||||
return "\n".join(lines)
|
|
||||||
|
|
||||||
def generate_ascii_bar_chart(report_data: Dict, max_width: int = 40) -> str:
|
def generate_ascii_bar_chart(report_data: Dict, max_width: int = 40) -> str:
|
||||||
"""Generates a simple ASCII bar chart for environments where Mermaid is not rendered."""
|
"""Generates a simple ASCII bar chart for environments where Mermaid is not rendered."""
|
||||||
lines = ["```text"]
|
lines = ["```text"]
|
||||||
@@ -299,10 +289,7 @@ def main():
|
|||||||
|
|
||||||
# Graphical time distribution
|
# Graphical time distribution
|
||||||
report_lines.append("## ⏱️ Zeitverteilung & Fokus")
|
report_lines.append("## ⏱️ Zeitverteilung & Fokus")
|
||||||
report_lines.append(generate_mermaid_pie(report_data))
|
|
||||||
report_lines.append("\n<details><summary>Text-basierte Zeitverteilung (Fallback)</summary>\n")
|
|
||||||
report_lines.append(generate_ascii_bar_chart(report_data))
|
report_lines.append(generate_ascii_bar_chart(report_data))
|
||||||
report_lines.append("\n</details>\n")
|
|
||||||
report_lines.append("---")
|
report_lines.append("---")
|
||||||
report_lines.append("")
|
report_lines.append("")
|
||||||
|
|
||||||
|
|||||||
@@ -12,20 +12,6 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
## ⏱️ Zeitverteilung & Fokus
|
## ⏱️ Zeitverteilung & Fokus
|
||||||
```mermaid
|
|
||||||
pie title Zeitverteilung nach Projekten (in Stunden)
|
|
||||||
"Umzug Synology → Wackler IT": 30.0
|
|
||||||
"Superoffice API": 14.5
|
|
||||||
"Lead-Engine: Tradingtwins": 11.8
|
|
||||||
"Company Explorer (Account + Contact Enrichment)": 4.5
|
|
||||||
"General Maintenance": 3.9
|
|
||||||
"Konver.ai": 0.8
|
|
||||||
"Start @ Roboplanet": 0.4
|
|
||||||
"Content Generator (create content around a product)": 0.2
|
|
||||||
```
|
|
||||||
|
|
||||||
<details><summary>Text-basierte Zeitverteilung (Fallback)</summary>
|
|
||||||
|
|
||||||
```text
|
```text
|
||||||
Zeitverteilung nach Projekten (Stunden)
|
Zeitverteilung nach Projekten (Stunden)
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
@@ -39,8 +25,6 @@ Start @ Roboplanet | 00:25 |
|
|||||||
Content Generator (create.. | 00:15 |
|
Content Generator (create.. | 00:15 |
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📁 Umzug Synology → Wackler IT (29:59)
|
## 📁 Umzug Synology → Wackler IT (29:59)
|
||||||
|
|||||||
@@ -12,20 +12,6 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
## ⏱️ Zeitverteilung & Fokus
|
## ⏱️ Zeitverteilung & Fokus
|
||||||
```mermaid
|
|
||||||
pie title Zeitverteilung nach Projekten (in Stunden)
|
|
||||||
"Umzug Synology → Wackler IT": 30.0
|
|
||||||
"Superoffice API": 14.5
|
|
||||||
"Lead-Engine: Tradingtwins": 11.8
|
|
||||||
"Company Explorer (Account + Contact Enrichment)": 4.5
|
|
||||||
"General Maintenance": 3.9
|
|
||||||
"Konver.ai": 0.8
|
|
||||||
"Start @ Roboplanet": 0.4
|
|
||||||
"Content Generator (create content around a product)": 0.2
|
|
||||||
```
|
|
||||||
|
|
||||||
<details><summary>Text-basierte Zeitverteilung (Fallback)</summary>
|
|
||||||
|
|
||||||
```text
|
```text
|
||||||
Zeitverteilung nach Projekten (Stunden)
|
Zeitverteilung nach Projekten (Stunden)
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
@@ -39,8 +25,6 @@ Start @ Roboplanet | 00:25 |
|
|||||||
Content Generator (create.. | 00:15 |
|
Content Generator (create.. | 00:15 |
|
||||||
```
|
```
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📁 Umzug Synology → Wackler IT (29:59)
|
## 📁 Umzug Synology → Wackler IT (29:59)
|
||||||
|
|||||||
Reference in New Issue
Block a user