def task(task_id): # get data from task task_data = utils.get_task_data(task_id) return render_template( 'task.html', task_data=task_data)
def add_task(): if request.method == 'GET': data = {} task_id = request.args.get('id', None) if task_id: # get data from task data = utils.get_task_data(task_id) return render_template( 'add_task.html', data=data) if request.method == 'POST': errors = [] data = {} data['name'] = request.form.get('nameInput', None) data['project'] = request.form.get('projectInput', None) data['environment'] = request.form.get('environmentInput', '') data['url'] = request.form.get('urlInput', None) data['category'] = request.form.get('categorySelect', None) data['type'] = request.form.get('typeSelect', None) data['status_code'] = request.form.get('statusCodeInput', '') data['request_body'] = request.form.get('requestBodyInput', '') data['content'] = request.form.get('contentInput', '') data['interval'] = request.form.get('intervalInput', None) data['mail_recipients'] = request.form.get('recipientsInput', '') data['id'] = request.form.get('taskIdInput', None) print data['id'] # validate name if not data['name']: errors.append('Name is required') elif len(data['name']) > 40: errors.append('Name must be shorter than 41 characters') # validate project if not data['project']: errors.append('Project is required') elif len(data['project']) > 40: errors.append('Project must be shorter than 41 characters') # validate environment if len(data['environment']) > 40: errors.append('Environment must be shorter than 41 characters') # validate url if not data['url']: errors.append('URL is required') elif len(data['url']) > 150: errors.append('URL must be shorter than 151 characters') # validate category if not data['category'] in ['service', 'web']: errors.append('Wrong category value') if data['category'] == 'service': # validate request body if not data['request_body']: errors.append('Request Body is required') else: if len(data['request_body']) > 3000: errors.append('Request Body must be shorter than 3001 characters') # validate test type if not data['type'] in ['status_code', 'content']: errors.append('Wrong Test Type value') elif data['type'] == 'status_code': # validate status code if not data['status_code']: errors.append('Status Code is required') elif len(data['status_code']) > 10: errors.append('Status Code must be shorter than 11 characters') elif not data['status_code'].isdigit(): errors.append('Status Code must be an integer') elif data['type'] == 'content': # validate content if not data['content']: errors.append('Content is required') elif len(data['content']) > 100: errors.append('Content must be shorter than 101 characters') # validate interval if not data['interval']: errors.append('Interval is required') else: if len(data['interval']) > 4: errors.append('Interal must be shorter than 5 characters') else: if not data['interval'].isdigit(): errors.append('Interval must be an integer') else: if int(data['interval']) > 9999: errors.append('Interval must be shorter than 1000') if int(data['interval']) < 30: errors.append('Interval must be greater than or equal 30') if data['mail_recipients']: if len(data['mail_recipients']) > 3000: errors.append('Mail Recipients must be shorter than 3001 characters') if not errors: # create new task utils.create_update_task(data) return redirect('/') else: return render_template( 'add_task.html', errors=errors, data=data)
encoders = [] decoders = [] # train autoencoders for task in range(5): # create autoencoder for the current new task autoencoder = utils.build_autoencoder(base_autoencoder_name, data_shape, mean_image, std_image, autoencoder_hidden_layer_size, int(n_classes / n_tasks), weight_decay) # get train and test data for the current task X_train_task, y_train_task, X_test_task, y_test_task = utils.get_task_data( task, int(n_classes / n_tasks) * n_train_samples_per_class, int(n_classes / n_tasks) * n_test_samples_per_class, X_train, y_train, X_test, y_test) # train the autoencoder for the current task print( "---------------- Training autoencoder for the task %d ----------------" % task) autoencoder.compile(optimizer='Adagrad', loss='categorical_crossentropy', metrics=['accuracy']) autoencoder.fit(X_train_task, y_train_task, batch_size, epochs, shuffle=True)