Compare commits

...

3 Commits

Author SHA1 Message Date
ahosking
94c493fa9b Major change to Influx 2
This includes new queries for data,
New queries for creating/submitting data
and some new code that needs to be refactored
2022-07-03 00:31:01 -04:00
ahosking
06f194f8bd Clean up Templates and include new data points 2022-07-03 00:29:09 -04:00
ahosking
fd5cfd5021 Add script to run InfluxDB 2022-07-03 00:28:54 -04:00
4 changed files with 28 additions and 26 deletions

0
docker_run.sh Normal file → Executable file
View File

View File

@ -8,14 +8,14 @@ from influxdb_client.client.write_api import SYNCHRONOUS
config = dotenv_values(".env")
print(config)
app = Flask(__name__)
def db_main(host='localhost', port=8086):
user = 'root'
password = 'root'
dbname = 'gas'
client = influxdb_client.InfluxDBClient(
url=config['DB_URL'],
token=config['DB_TOKEN'],
org=config['DB_ORG']
)
@app.route('/success')
def success():
@ -23,14 +23,22 @@ def success():
@app.route('/', methods=['GET', 'POST'])
def main_page():
client = influxdb_client.InfluxDBClient(
url=config['DB_URL'],
token=config['DB_TOKEN'],
org=config['DB_ORG']
)
query_api = client.query_api()
query = 'from(bucket: "gas")\
|> range(start: -96h)\
|> filter(fn: (r) => r["_measurement"] == "2016_odyssey")\
|> filter(fn: (r) => r["_field"] == "odometer")'
#query = 'select TOP(odometer, 5) from odyssey'
#data = client.query(query)
data = []
result = query_api.query(org=config['DB_ORG'], query=query)
print(result)
results = []
for table in result:
for record in table.records:
results.append((record.get_time(), record.get_field(), record.get_value()))
print(results)
data= results
return render_template('index.html', data=data)
@app.route('/add_time', methods=['POST', 'GET'])
@ -79,16 +87,12 @@ def add_time():
print()
print(dt)
print()
client = influxdb_client.InfluxDBClient(
url=config['DB_URL'],
token=config['DB_TOKEN'],
org=config['DB_ORG']
)
write_api = client.write_api(write_options=SYNCHRONOUS)
p = influxdb_client.Point("2016_odyssey").time(timestamp).field("odometer", float(odometer))
p = influxdb_client.Point("2016_odyssey").time(timestamp).field("odometer", float(odometer)).field("oilhealth", oilhealth)\
.field("fuel", fuel).field("fuelcost", fuelcost).field("winter", winter)
write_api.write(bucket="gas", org=config['DB_ORG'], record=p)
print ("Submitting data to DB: {0}".format(json_body))
client.write_points(json_body)
#client.write_points(json_body)
@ -107,4 +111,4 @@ def logout():
pass
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
app.run(debug=True, host='0.0.0.0', port='9001')

View File

@ -60,11 +60,9 @@
Last Mileage
<ul>
{% for point in data %}
{% for item in point %}
<li>
{{ item['top'] }}
{{ point[0] }} = {{ point[1] }}, {{point[2]}}
</li>
{% endfor %}
{% endfor %}
{% endblock %}
</ul>

View File

@ -41,7 +41,7 @@
<!--<li class="active"><a href="/">Inventory<span class="sr-only">(current)</span></a></li>-->
<li><a href="{{ url_for('main_page') }}">Home</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<!-- <ul class="nav navbar-nav navbar-right">
{% if not session.logged_in %}
<li>
@ -59,7 +59,7 @@
</a>
</li>
{% endif %}
</ul>
</ul> -->
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>