X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=income_progress_bars.py;fp=income_progress_bars.py;h=553627d3788f2f44a0be3fa605453e021f79ac27;hb=436e0f40b45319ef4452ce6ced1a3c3df813119b;hp=94a34569c70909a290c82ad21eb6bba8cf8a6196;hpb=5f3b9e7eb997cacea086decc3dcd04d6619b9121;p=misc diff --git a/income_progress_bars.py b/income_progress_bars.py index 94a3456..553627d 100644 --- a/income_progress_bars.py +++ b/income_progress_bars.py @@ -1,13 +1,12 @@ -# from http.server import BaseHTTPRequestHandler, HTTPServer import os import json import jinja2 from plomlib import PlomDB, PlomException, run_server, run_server, PlomServer -server_port = 8081 +server_port = 8083 +db_path = '/home/plom/org/income.json' -tmpl = jinja2.Template(""" - +tmpl = """ - -{% for p in progress_bars %} - + +{% for p in progress_bars %} - - -{% endfor %} -
earnedprogresssurplus
{{p.title}}
earnedprogresssurplus
{{p.title}} {{p.earned|round(2)}}{% if p.time_progress >= 0 %}
{% endif %}
{{p.diff_goal}}
+{% if p.time_progress >= 0 %}
{% endif %}
+
{{p.diff_goal}}
+{% endfor %} +
+
hourly rateworked today
€ minutes
€ minutes
€ minutes
@@ -103,8 +102,8 @@ table { -""") +""" + class IncomeDB(PlomDB): @@ -124,7 +123,7 @@ class IncomeDB(PlomDB): self.workday_minutes_worked_3 = 0, self.year_goal = 20000, self.workdays_per_month = 16 - super().__init__('_income') + super().__init__(db_path) def read_db_file(self, f): d = json.load(f) @@ -143,6 +142,7 @@ class IncomeDB(PlomDB): def write_db(self): self.write_text_to_db(json.dumps(self.to_dict())) + class ProgressBar: def __init__(self, title, earned, goal, time_progress=-1): self.title = title @@ -160,7 +160,7 @@ class ProgressBar: if time_progress > 0: self.success = success_income / time_progress -# class MyServer(BaseHTTPRequestHandler): + class IncomeServer(PlomServer): def do_POST(self): @@ -188,9 +188,7 @@ class IncomeServer(PlomServer): db.workday_minutes_worked_2 = 0 db.workday_minutes_worked_3 = 0 db.write_db() - self.send_response(302) - self.send_header('Location', '/') - self.end_headers() + self.redirect() except PlomException as e: self.fail_400(e) @@ -237,7 +235,7 @@ class IncomeServer(PlomServer): ProgressBar("month", month_plus, month_goal, progress_time_month), ProgressBar("week", week_plus, week_goal, progress_time_week), ProgressBar("workday", day_income, workday_goal)] - page = tmpl.render( + page = jinja2.Template(tmpl).render( progress_bars = progress_bars, workday_hourly_rate_1 = db.workday_hourly_rate_1, workday_minutes_worked_1 = db.workday_minutes_worked_1, @@ -256,5 +254,6 @@ class IncomeServer(PlomServer): except PlomException as e: self.fail_400(e) + if __name__ == "__main__": run_server(server_port, IncomeServer)
yearly income goal€
monthly income goal{{month_goal|round(2)}}€