Compare commits
No commits in common. "f2cad65626abf5d9e7cc0ef6689e4e7198ef8f9a" and "4448de1288a29cdba459da2a3dcba509e8f62fe4" have entirely different histories.
f2cad65626
...
4448de1288
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +0,0 @@
|
|||||||
*.swp
|
|
||||||
*.sqlite
|
|
||||||
__pycache__
|
|
@ -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)
|
||||||
|
13
fgs/views.py
13
fgs/views.py
@ -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 })
|
|
||||||
|
Loading…
Reference in New Issue
Block a user