diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/views/__init__.py | 3 | ||||
-rw-r--r-- | app/views/svg.py | 43 |
2 files changed, 1 insertions, 45 deletions
diff --git a/app/views/__init__.py b/app/views/__init__.py index c4c362b..308fdf8 100644 --- a/app/views/__init__.py +++ b/app/views/__init__.py @@ -33,11 +33,10 @@ def format_date(s, format="%Y/%m"): def page_not_found (error): return render_template("404.jinja", page = request.path), 404 -from . import categories, consts, expenses, svg +from . import categories, consts, expenses app.register_blueprint(expenses.mod) app.register_blueprint(consts.mod, url_prefix="/const") app.register_blueprint(categories.mod, url_prefix="/cat") -app.register_blueprint(svg.mod, url_prefix="/svg") app.add_url_rule("/", endpoint = "index", build_only = True) diff --git a/app/views/svg.py b/app/views/svg.py deleted file mode 100644 index 06666b3..0000000 --- a/app/views/svg.py +++ /dev/null @@ -1,43 +0,0 @@ -from ..flask_extend import Blueprint - -from .expenses import calc_month_exp -from . import static_url -from ..model import Category - -from pygal.style import DefaultStyle as Style -from pygal import Pie as _Pie - -mod = Blueprint('svg', __name__) - -Style.background = Style.plot_background = "rgba(255,0,0,0)" - -def Pie(*args, **kwargs): - # does not work as functools.partial, because static_url would be called without request - return _Pie(*args, - style=Style, - js = [static_url('pygal/pygal.js', _external = True)], - legend_font_size = 24, - tooltip_font_size = 24, - value_font_size = 24, - margin = 0, - legend_at_bottom = True, - pretty_print = True, - **kwargs) - -@mod.route("/month/<int(fixed_digits=4):year>/<int(fixed_digits=2):month>.svg") -def month(year, month): - exp = calc_month_exp(year, month) - pie = Pie() - - expenses = {} - for c in exp.catexps: - expenses[c.cat.name] = float(c.expense) - - for c in Category.query.order_by(Category.name).all(): - pie.add(c.name, expenses.get(c.name, 0.0)) - - if not expenses: - pie.raw_series = [] - pie.add("Empty", 0.1) - - return pie.render_response() |