33 lines
927 B
Python
33 lines
927 B
Python
import base64
|
|
import logging
|
|
|
|
from pyramid.view import view_config
|
|
from pyramid.response import Response
|
|
from pyramid.httpexceptions import HTTPBadRequest, HTTPAccepted
|
|
|
|
from cloud.compute import compute_queue
|
|
from cloud.models import (
|
|
Device,
|
|
DBSession
|
|
)
|
|
|
|
|
|
@view_config(route_name='faces', request_method='POST', renderer='json')
|
|
def input_camera(request):
|
|
param = request.json_body
|
|
compute_queue.put((request.matchdict['uid'], param['faces']))
|
|
return {'status': 'Accepted'}
|
|
|
|
|
|
@view_config(route_name='device', request_method='PUT', renderer='json')
|
|
def edit_device(request):
|
|
param = request.json_body
|
|
uid = request.matchdict['uid']
|
|
device = DBSession.query(Device).filter_by(uid=uid).one()
|
|
device.callback = param['callback']
|
|
logging.info('Device %s registered on %s', device.uid, device.callback)
|
|
return {
|
|
'uid': device.uid,
|
|
'callback': device.callback
|
|
}
|