import os import logging from flask import Flask, render_template, request, session, send_from_directory from flask_bootstrap import Bootstrap app = Flask(__name__) app.config['SECRET_KEY'] = 'j69ol5mcHLsEtLg4Y/+myd9wWD4pp56E' # setup logging formatter = logging.Formatter( '%(asctime)s %(levelname)s %(process)d ---- %(threadName)s ' '%(module)s : %(funcName)s {%(pathname)s:%(lineno)d} %(message)s','%Y-%m-%dT%H:%M:%SZ') handler = logging.StreamHandler() handler.setFormatter(formatter) app.logger.setLevel(logging.DEBUG) app.logger.addHandler(handler) Bootstrap(app) version = "1.0.5" postcounter = 0 gesamtwert = 0 change = 0 givenfloat = 0 sum = "" item1 = 0 item2 = 0 item3 = 0 item4 = 0 item5 = 0 item6 = 0 app.logger.info('Starting erdbeerhannah v' + version) @app.route("/", methods=["GET", "POST"]) def index(): global gesamtwert, item1, item2, item3, item4, item5, item6, sum, givenfloat, change, given, background, postcounter, version background = "bg-white" if request.method == "POST": postcounter += 1 # wert = float(request.form["wert"]) wert = request.form.get('wert', "0", type=float) given = request.form.get('given', "0", type=float) app.logger.debug('wert: %s, given: %s', wert, given) wertfloat = float(wert) givenfloat = float(given) # reset button if wertfloat == 0: global gesamtwert gesamtwert = 0 change = 0 sum = "0" item1 = 0 item2 = 0 item3 = 0 item4 = 0 item5 = 0 item6 = 0 background = "bg-white" # summarize value elif wertfloat != -2: gesamtwert += wertfloat gesamtwert = round(gesamtwert, 2) if gesamtwert > 0: sum = str(gesamtwert) + "0" # summarize items if wertfloat == 5.8: item1 += 1 if wertfloat == 4.8: item2 += 1 if wertfloat == 3.3: item3 += 1 if wertfloat == 8.8: item4 += 1 if wertfloat == 5.5: item5 += 1 if wertfloat == .2: item6 += 1 if givenfloat > 0: try: gesamtwert = session['summefloat'] or 0 sum = str(gesamtwert) + "0" change = str(round((givenfloat - gesamtwert) * -1, 2)) + "0" except: app.logger.warning("Failed to read sum") if givenfloat - gesamtwert < 0: background = "bg-danger" else: background = "bg-white" session['item1'] = item1 session['item2'] = item2 session['item3'] = item3 session['item4'] = item4 session['item5'] = item5 session['item6'] = item6 session['summefloat'] = gesamtwert session['summestring'] = sum session['change'] = change session['given'] = givenfloat app.logger.info('*** sum %s, given %s, change %s', sum, givenfloat, change) app.logger.info('*** postcounter %s', postcounter) return render_template("index.html", gesamtwert=session.get('summestring', 0), change=session.get('change', 0), given=session.get('given', 0), item1=session.get('item1', 0), item2=session.get('item2', 0), item3=session.get('item3', 0), item4=session.get('item4', 0), item5=session.get('item5', 0), item6=session.get('item6', 0), background=background, version=version, ) @app.route('/favicon.ico') def favicon(): return send_from_directory(os.path.join(app.root_path, 'static'), 'favicon.ico', mimetype='image/vnd.microsoft.icon') # @app.route('/about') # def about(): # return send_from_directory(os.path.join(app.root_path, 'static'), # 'about.html') if __name__ == "__main__": app.run(debug=True, host='127.0.0.1')