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") config = dotenv_values(".env")
print(config)
app = Flask(__name__) app = Flask(__name__)
def db_main(host='localhost', port=8086): client = influxdb_client.InfluxDBClient(
user = 'root' url=config['DB_URL'],
password = 'root' token=config['DB_TOKEN'],
dbname = 'gas' org=config['DB_ORG']
)
@app.route('/success') @app.route('/success')
def success(): def success():
@ -23,14 +23,22 @@ def success():
@app.route('/', methods=['GET', 'POST']) @app.route('/', methods=['GET', 'POST'])
def main_page(): def main_page():
client = influxdb_client.InfluxDBClient( query_api = client.query_api()
url=config['DB_URL'], query = 'from(bucket: "gas")\
token=config['DB_TOKEN'], |> range(start: -96h)\
org=config['DB_ORG'] |> filter(fn: (r) => r["_measurement"] == "2016_odyssey")\
) |> filter(fn: (r) => r["_field"] == "odometer")'
#query = 'select TOP(odometer, 5) from odyssey' #query = 'select TOP(odometer, 5) from odyssey'
#data = client.query(query) #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) return render_template('index.html', data=data)
@app.route('/add_time', methods=['POST', 'GET']) @app.route('/add_time', methods=['POST', 'GET'])
@ -79,16 +87,12 @@ def add_time():
print() print()
print(dt) print(dt)
print() 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) 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) write_api.write(bucket="gas", org=config['DB_ORG'], record=p)
print ("Submitting data to DB: {0}".format(json_body)) 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 pass
if __name__ == '__main__': 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 Last Mileage
<ul> <ul>
{% for point in data %} {% for point in data %}
{% for item in point %} <li>
<li> {{ point[0] }} = {{ point[1] }}, {{point[2]}}
{{ item['top'] }} </li>
</li>
{% endfor %}
{% endfor %} {% endfor %}
{% endblock %} {% endblock %}
</ul> </ul>

View File

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