mti840-projet/cloud/cloud/views.py

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
}