Verified Commit 7d304de8 authored by Jakob Moser's avatar Jakob Moser
Browse files

Add generate svg report

parent c125a314
Loading
Loading
Loading
Loading
+0 −0

Empty file added.

muffin/report/svg.py

0 → 100644
+35 −0
Original line number Diff line number Diff line
from pathlib import Path

from ..amount.AmountParser import format_as_euro_de
from ..analysis.CashFlowAnalysis import CashFlowAnalysis


def _get_resource_path(name: str) -> Path:
    return Path(__file__).parent.parent / "resources" / name


def save_badges(analysis: CashFlowAnalysis, base_dir: Path) -> None:
    # TODO This is stupid, improve
    with open(_get_resource_path("balance.svg")) as f:
        balance_svg = f.read().replace(
            "+1.384,24 €", format_as_euro_de(analysis.balance, True)
        )

    with open(_get_resource_path("income.svg")) as f:
        income_svg = f.read().replace(
            "2.523,46 €", format_as_euro_de(analysis.total_income)
        )

    with open(_get_resource_path("expenses.svg")) as f:
        expenses_svg = f.read().replace(
            "1.139,22 €", format_as_euro_de(analysis.total_expenses)
        )

    with open(base_dir / "balance.svg", "w") as f:
        f.write(balance_svg)

    with open(base_dir / "income.svg", "w") as f:
        f.write(income_svg)

    with open(base_dir / "expenses.svg", "w") as f:
        f.write(expenses_svg)