fix up to get running and some feature add
All checks were successful
Build and Push Image / Build and push image (push) Has been skipped
All checks were successful
Build and Push Image / Build and push image (push) Has been skipped
This commit is contained in:
parent
592de4793b
commit
56ff1a7247
@ -1,4 +1,5 @@
|
||||
FROM git.aridgwayweb.com/armistace/beer_base_image AS flask
|
||||
#FROM git.aridgwayweb.com/armistace/beer_base_image AS flask
|
||||
FROM beer_base_image AS flask
|
||||
|
||||
COPY requirements.txt .
|
||||
|
||||
@ -8,6 +9,6 @@ ENV FLASK_ENV production
|
||||
ENV FLASK_DEBUG 1
|
||||
|
||||
|
||||
ENTRYPOINT ["flask", "--app", "/pool_data/src/flask/beer_data", "run", "--host=0.0.0.0"]
|
||||
ENTRYPOINT ["flask", "--app", "/beer_data/src/flask/beer_data", "run", "--host=0.0.0.0"]
|
||||
|
||||
#ENTRYPOINT ["python", "/pool_data/src/flask/pool_data.py"]
|
||||
|
@ -20,7 +20,7 @@ def main(username, password):
|
||||
"password" : f"{password}"
|
||||
}
|
||||
if user_collection.user_exists(new_record["username"]):
|
||||
user_collect.update_user(user_collection.existing_record["_id"], new_record["password"])
|
||||
user_collection.update_user(user_collection.existing_record["_id"], new_record["password"])
|
||||
else:
|
||||
user_collection.add_user(new_record["username"], new_record["password"])
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
from bokeh.core.enums import SpatialUnitsType
|
||||
import mongo.build_db as pool_database
|
||||
import mongo.query_db as pool_database_query
|
||||
import mongo.build_db as beer_database
|
||||
import mongo.query_db as beer_database_query
|
||||
|
||||
from flask import Flask, render_template, request, jsonify, redirect, session
|
||||
from flask_wtf import FlaskForm, CSRFProtect
|
||||
from flask_bootstrap import Bootstrap5
|
||||
from wtforms import StringField, SubmitField, DateField, IntegerField, PasswordField, DecimalField, RadioField, TextAreaField
|
||||
from wtforms import StringField, SubmitField, DateField, IntegerField, PasswordField, DecimalField, RadioField, TextAreaField, BooleanField
|
||||
from wtforms.validators import DataRequired, Length, Optional
|
||||
from waitress import serve
|
||||
from bokeh.models.layouts import HBox
|
||||
@ -26,7 +26,7 @@ output_file("/beer_data/src/flask/static/data_plot.html")
|
||||
def create_graphs():
|
||||
chart = BeerCharts.BeerCharts()
|
||||
sg = chart.line_chart("SG", "sg", 30)
|
||||
show(row(column(sg)))
|
||||
show(column(sg))
|
||||
|
||||
|
||||
class userForm(FlaskForm):
|
||||
@ -39,6 +39,7 @@ class dataForm(FlaskForm):
|
||||
beer_run_type = TextAreaField("Beer Type")
|
||||
Date = DateField("Date:")
|
||||
sg = IntegerField("SG Reading")
|
||||
final_run = BooleanField("Final Reading?")
|
||||
comment = TextAreaField("Any Comments?", validators=[Optional()])
|
||||
submit = SubmitField("Write it, Write it REAAAAAAL GOOOD")
|
||||
|
||||
@ -48,7 +49,7 @@ def index():
|
||||
if form.validate_on_submit():
|
||||
username = form.username.data
|
||||
password = form.password.data
|
||||
db = pool_database_query.pool_query()
|
||||
db = beer_database_query.pool_query()
|
||||
if db.user_check(username, password):
|
||||
session['logged_in'] = True
|
||||
return redirect("/updater")
|
||||
@ -62,17 +63,18 @@ def updater():
|
||||
if 'logged_in' not in session:
|
||||
return redirect("/")
|
||||
create_graphs()
|
||||
query_db = pool_database_query.pool_query()
|
||||
query_db = beer_database_query.pool_query()
|
||||
query = query_db.get_top(10, "sg")
|
||||
form = dataForm()
|
||||
|
||||
if form.validate_on_submit():
|
||||
database = pool_database.pool_data()
|
||||
database = beer_database.beer_data()
|
||||
new_record = {
|
||||
"date": f'{form.Date.data}',
|
||||
"beer_run_id": f'{form.beer_run_id.data}',
|
||||
"beer_type": f'{form.beer_run_type.data}',
|
||||
"sg" : f'{form.sg.data}',
|
||||
"final_reading" : F'{form.final_run.data}',
|
||||
"comment": f'{form.comment.data}'
|
||||
}
|
||||
if database.record_exists(new_record["date"], new_record["beer_run_id"]):
|
||||
@ -82,34 +84,38 @@ def updater():
|
||||
if database.existing_record[field] != new_record[field]:
|
||||
database.update_re_record(database.existing_record["_id"], field, new_record[field])
|
||||
else:
|
||||
if new_record["final_reading"] == "True":
|
||||
final_run_value = True
|
||||
else:
|
||||
final_run_value = False
|
||||
database.create_re_record(new_record["beer_run_id"], new_record["beer_type"], new_record["sg"],
|
||||
new_record["date"], new_record["comment"])
|
||||
new_record["date"], final_run_value, new_record["comment"])
|
||||
|
||||
return render_template("updater.html", list=query, form=form, success=True, updater_name = new_record["test_user"])
|
||||
return render_template("updater.html", list=query, form=form, success=True, updater_name = "Saucy Beer Maker")
|
||||
else:
|
||||
return render_template("updater.html", list=query, form=form, sucess=False)
|
||||
|
||||
@app.route("/update_db", methods=["POST"])
|
||||
def pool_data_update():
|
||||
database = pool_database.pool_data()
|
||||
new_record = request.json
|
||||
if database.record_exists(new_record["date"], new_record["test_user"]):
|
||||
for field in database.existing_record:
|
||||
for new_field in new_record:
|
||||
if field == new_field:
|
||||
if database.existing_record[field] != new_record[field]:
|
||||
database.update_re_record(database.existing_record["_id"], field, new_record[field])
|
||||
else:
|
||||
database.create_re_record(new_record["beer_run_id"], new_record["beer_type"], new_record["sg"],
|
||||
new_record["date"], new_record["comment"])
|
||||
# @app.route("/update_db", methods=["POST"])
|
||||
# def beer_data_update():
|
||||
# database = beer_database.beer_data()
|
||||
# new_record = request.json
|
||||
# if database.record_exists(new_record["date"], new_record["test_user"]):
|
||||
# for field in database.existing_record:
|
||||
# for new_field in new_record:
|
||||
# if field == new_field:
|
||||
# if database.existing_record[field] != new_record[field]:
|
||||
# database.update_re_record(database.existing_record["_id"], field, new_record[field])
|
||||
# else:
|
||||
# database.create_re_record(new_record["beer_run_id"], new_record["beer_type"], new_record["sg"],
|
||||
# new_record["date"], new_record["comment"])
|
||||
|
||||
|
||||
|
||||
@app.route("/pool_top/<int:return_number>/<string:field>")
|
||||
def user_detail(id):
|
||||
query_db = pool_database_query.pool_query()
|
||||
query = query_db.get_top(return_number, field)
|
||||
return jsonify([row.to_json() for row in query])
|
||||
# @app.route("/pool_top/<int:return_number>/<string:field>")
|
||||
# def user_detail(id):
|
||||
# query_db = beer_database_query.pool_query()
|
||||
# query = query_db.get_top(return_number, field)
|
||||
# return jsonify([row.to_json() for row in query])
|
||||
|
||||
if __name__ == '__main__':
|
||||
#app.run(host='0.0.0.0')
|
||||
|
@ -11,7 +11,7 @@ class BeerCharts():
|
||||
|
||||
|
||||
def line_chart(self, title, field, limit):
|
||||
data = self.db.pool_db
|
||||
data = self.db.beer_db
|
||||
data = data.find({}).sort("date", -1).limit(limit)
|
||||
dates = []
|
||||
data_list = []
|
||||
|
@ -15,14 +15,14 @@ class beer_data:
|
||||
#we can get self.db.real_db etc
|
||||
self.db = db_conn()
|
||||
|
||||
def record_exists(self, date, test_user):
|
||||
def record_exists(self, date, beer_run_id):
|
||||
"""
|
||||
This function will accept an address
|
||||
if it find that address in the database it will return True
|
||||
and set set the existing_record variable of the class to the
|
||||
queried record
|
||||
"""
|
||||
query = { "date" : f"{date}", "test_user": f"{test_user}"}
|
||||
query = { "date" : f"{date}", "beer_run_id": f"{beer_run_id}"}
|
||||
record = self.db.beer_db.find_one(query)
|
||||
if record:
|
||||
self.existing_record = record
|
||||
@ -31,7 +31,7 @@ class beer_data:
|
||||
return False
|
||||
|
||||
|
||||
def create_re_record(self, beer_run_id, beer_type, sg, date, comment=""):
|
||||
def create_re_record(self, beer_run_id, beer_type, sg, date, final_reading=False, comment=""):
|
||||
"""
|
||||
create_re_record creates a whole new record
|
||||
takes the required 7 inputs
|
||||
@ -51,6 +51,7 @@ class beer_data:
|
||||
"beer_type": f"{beer_type}",
|
||||
"sg": f"{sg}",
|
||||
"date": f"{date}",
|
||||
"final_reading": f"{final_reading}",
|
||||
"comment": f"{comment}"
|
||||
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ class db_conn:
|
||||
self.db_host = os.getenv('MONGO_HOST')
|
||||
self.client = self.get_client()
|
||||
self.db = self.client['beer_db']
|
||||
self.pool_db = self.db['beer_data']
|
||||
self.beer_db = self.db['beer_data']
|
||||
self.users = self.db['users']
|
||||
self.inspections = self.db['inspections_db']
|
||||
|
||||
|
@ -49,7 +49,8 @@
|
||||
<td>
|
||||
<div class="container">
|
||||
<div class= "col-xs-12 col-sm-12 col-md-12">
|
||||
<iframe style="width: 100vw;height: 80vh;position: relative;" src="static/data_plot.html" frameborder="0" allowfullscreen>
|
||||
<iframe style="width: 100vw; height: 40vh;" src="static/data_plot.html" frameborder="0" allowfullscreen>
|
||||
<!--<iframe style="width: 100vw;height: 80vh;position: relative;" src="static/data_plot.html" frameborder="0" allowfullscreen>-->
|
||||
</iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user