def run_all(): process_manager = app.config['PROCESS_MANAGER'] device_manager = app.config['DEVICE_MANAGER'] body = request.json devices = Device.from_json_request(body, many=True) results = [] for device in devices: address = device.address device = _run(address, device, device_manager, process_manager) results.append(device) # save location mapping information location_mapping_df = Device.to_location_mapping_csv(*devices, pid=app.config['SELECTED_SUBJECT']) if app.config['SELECTED_SUBJECT'] is None: logging_folder = False else: logging_folder = os.path.abspath(os.path.join('data-logging', 'DerivedCrossParticipants')) os.makedirs(logging_folder, exist_ok=True) logging.info('Create logging folder: ' + logging_folder) output_file = os.path.join(logging_folder,'location_mapping.csv') if os.path.exists(output_file): location_mapping_df.to_csv(output_file, header=False, index=False, mode='a') else: location_mapping_df.to_csv(output_file, header=True, index=False) logging.info('Saved location mapping information') response = Device.to_json_responses(*results, time.time()) return jsonify(response), 200
def run(address): process_manager = app.config['PROCESS_MANAGER'] device_manager = app.config['DEVICE_MANAGER'] body = request.json device = Device.from_json_request(body) device = _run(address, device, device_manager, process_manager) response = device.to_json_response(time.time()) return jsonify(response)
def stop_all(): device_manager = app.config['DEVICE_MANAGER'] print(request.json) devices = Device.from_json_request(request.json, many=True) addresses = list(map(lambda d: d.address, devices)) results = [] for address in addresses: device = _stop(address, device_manager) results.append(device) response = Device.to_json_responses(*results, time.time()) return jsonify(response)