def associations(): if flask_request.method == 'POST': try: #register the associations here. gestureDict = {} gestureDict['gest_1'] = flask_request.form['gest_1'] gestureDict['gest_2'] = flask_request.form['gest_2'] gestureDict['gest_3'] = flask_request.form['gest_3'] gestureDict['gest_4'] = flask_request.form['gest_4'] gestureDict['gest_5'] = flask_request.form['gest_5'] print(str(gestureDict)) print(comms.user) db = DBHelper(True) #open in passive mode for key in gestureDict: db.addGesture(comms.user, key, gestureDict[key]) db.disconnect() return render_template('active.html') except: return "Error processing form. " else: SRO = comms.getSRO() states = ujson.loads(SRO)['lab-cam']['States'] states_str = ','.join(states) db = DBHelper(True) current_states = [] for x in range(1, 6): gest = db.getGestureFunction(comms.user, 'gest_' + str(x)) current_states.append( gest) if gest != None else current_states.append('') current_states = ','.join(current_states) resp = make_response( render_template('associations.html', default=states_str, data=current_states)) return resp
def onMessage(self, data, isBinary): """ Description: Decodes the image sent from the camera """ #STEP 1: Load in, convert, and decompress frame for use frame = ujson.loads(data.decode("utf8")) frame = np.asarray(frame, np.uint8) frame = cv2.imdecode(frame, cv2.IMREAD_COLOR) #post users client name here. #frame = message if (self.factory.bridge.user is not None): print(self.factory.bridge.user) frame, username, gesture = self.factory.rec.processFrame( frame, self.factory.bridge.user) if (gesture != '0'): #gesture is '0' by default db = DBHelper(True) gest_func = db.getGestureFunction(username, "gest_" + str(gesture)) acu = db.getACUByUsername(username) tag = acu + ",," + str(gest_func) if gest_func != None: self.factory.bridge.sendTag(tag) if (self.factory.rec.is_registering == False and self.factory.rec.reg_complete == True): self.factory.bridge.web_factory.connections["client1"].sendMessage( "registration".encode("UTF8")) frame = cv2.UMat(frame) frame = cv2.imencode('.jpg', frame, [cv2.IMWRITE_JPEG_QUALITY, 20])[1] frame = base64.b64encode(frame) #send to web factory self.factory.bridge.web_factory.post(self.factory.bridge.user, frame)