This commit is contained in:
Danila Fedorin 2020-05-12 18:41:44 -07:00
commit ec08fca5b7
3 changed files with 15 additions and 1 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
*.swp
*.sqlite
__pycache__

View File

@ -26,10 +26,12 @@ class DataPoint(db.Model):
class StimulusActivation(db.Model):
id = db.Column(db.Integer, primary_key=True)
collar_id = db.Column(db.Integer, db.ForeignKey('collar.id'))
longitude = db.Column(db.Float(precision=10))
latitude = db.Column(db.Float(precision=10))
volume_level = db.Column(db.Integer)
voltage_level = db.Column(db.Integer)
datetime = db.Column(db.DateTime)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)

View File

@ -4,6 +4,7 @@ from .model import *
from flask import g, jsonify, request, abort
from sqlalchemy import func
import geopy.distance
from datetime import datetime, timedelta
@app.route('/')
def index():
@ -80,4 +81,12 @@ def collar_detail(id):
collar = Collar.query.filter_by(id=id).first()
if collar is None: abort(404)
return jsonify({'id': collar.id, 'name': collar.name })
# get stimulus activation reports from within last 24 hours
since = datetime.now() - timedelta(hours=24)
stimulus_points = StimulusActivation.query.\
filter_by(collar_id=id).\
filter(StimulusActivation.datetime < since).\
order_by(StimulusActivation.datetime.desc())
n_stimulus = stimulus_points.count()
return jsonify({'id': collar.id, 'name': collar.name, 'stimilus': n_stimulus })