def add_device(device_name): form = forms.AddNewDeviceForm(request.form) if form.validate(): if len(running_context.Device.query.filter_by(name=device_name).all()) > 0: return json.dumps({"status": "device could not be added"}) running_context.Device.add_device(name=device_name, username=form.username.data, password=form.pw.data, ip=form.ipaddr.data, port=form.port.data, app_server=g.app, extra_fields=form.extraFields.data) return json.dumps({"status": "device successfully added"}) return json.dumps({"status": "device could not be added"})
def __func(): form = forms.AddNewDeviceForm(request.form) if app_name in core.config.config.function_info['apps']: if len( running_context.Device.query.filter_by( name=device_name).all()) > 0: current_app.logger.error( 'Could not create device {0} for app {1}. ' 'Device already exists.'.format(device_name, app_name)) return {"error": "Device already exists."}, OBJECT_EXISTS_ERROR try: with open(core.config.paths.AES_key_path, 'rb') as key_file: key = key_file.read() except (OSError, IOError) as e: current_app.logger.error( 'Error loading AES key from from {0}: {1}'.format( core.config.paths.AES_key_path, e)) if key: aes = pyaes.AESModeOfOperationCTR(key) pw = form.pw.data enc_pw = aes.encrypt(pw) else: current_app.logger.error( 'Could not create device {0} for app {1}. ' 'Could not get key from AES key file'.format( device_name, app_name)) return { "error": "Could not read key from AES key file." }, INVALID_INPUT_ERROR running_context.Device.add_device( name=device_name, username=form.username.data, password=enc_pw, ip=form.ipaddr.data, port=form.port.data, app_server=app_name, extra_fields=form.extraFields.data) return {}, OBJECT_CREATED else: current_app.logger.error( 'Could not create device {0} for app {1}. ' 'App does not exist'.format(device_name, app_name)) return {"error": "App does not exist."}, OBJECT_DNE_ERROR
def devices(): return { "apps": running_context.get_apps(), "form": forms.AddNewDeviceForm(), "editDeviceform": forms.EditDeviceForm() }