Compare commits

..

No commits in common. "f2cad65626abf5d9e7cc0ef6689e4e7198ef8f9a" and "4448de1288a29cdba459da2a3dcba509e8f62fe4" have entirely different histories.

3 changed files with 2 additions and 16 deletions

3
.gitignore vendored
View File

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

View File

@ -26,12 +26,10 @@ class DataPoint(db.Model):
class StimulusActivation(db.Model): class StimulusActivation(db.Model):
id = db.Column(db.Integer, primary_key=True) 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)) longitude = db.Column(db.Float(precision=10))
latitude = db.Column(db.Float(precision=10)) latitude = db.Column(db.Float(precision=10))
volume_level = db.Column(db.Integer) volume_level = db.Column(db.Integer)
voltage_level = db.Column(db.Integer) voltage_level = db.Column(db.Integer)
datetime = db.Column(db.DateTime)
class User(db.Model): class User(db.Model):
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)

View File

@ -4,7 +4,6 @@ from .model import *
from flask import g, jsonify, request, abort from flask import g, jsonify, request, abort
from sqlalchemy import func from sqlalchemy import func
import geopy.distance import geopy.distance
from datetime import datetime, timedelta
@app.route('/') @app.route('/')
def index(): def index():
@ -50,7 +49,7 @@ def collars_distance():
distance_kilometers = 0 distance_kilometers = 0
coords_pairs = list(map(lambda e : (e.longitude, e.latitude), coords)) coords_pairs = list(map(lambda e : (e.longitude, e.latitude), coords))
coord_last = coords_pairs.pop(0) coord_last = coords_pairs.pop()
for coord in coords_pairs: for coord in coords_pairs:
distance_kilometers += geopy.distance.VincentyDistance(coord_last,coord).km distance_kilometers += geopy.distance.VincentyDistance(coord_last,coord).km
coord_last = coord coord_last = coord
@ -80,12 +79,4 @@ def collar_detail(id):
collar = Collar.query.filter_by(id=id).first() collar = Collar.query.filter_by(id=id).first()
if collar is None: abort(404) if collar is None: abort(404)
# get stimulus activation reports from within last 24 hours return jsonify({'id': collar.id, 'name': collar.name })
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 })