def run_test(test, graphql=False, log_data=True): """ Runs a test stored in the database. Return: Tuple. First element is a boolean that is True if passed with an "OK" error code, False otherwise. Second is the Result object to be stored in the database. If log_data is False, it will only return the boolean (no tuple) """ # Here "valid" means its a 200 code is_valid_error_code = lambda code: code - 200 < 100 and code - 200 >= 0 # Get info for test endpoint = test.url method = test.method try: if graphql: # Make graphql request parameters = test.parameters no_whitespace = parameters.replace(' ', '').replace('\n', '').replace( '\t', '') endpoint = endpoint + '?query=' + no_whitespace parameters = '' else: # normal request parameters = dict(test.parameters) except: # Error, likely from graphql/normal request mismatch # Treat as failure if log_data: unix_time = int(time.time()) result = Result(test_id=test.id, success=False, createdAt=unix_time, updatedAt=unix_time) return False, result else: return False # Make request request_type = method.get_requests_method() response = request_type(endpoint, data=parameters) # Get result and store in database result_bool = is_valid_error_code(response.status_code) if log_data: unix_time = int(time.time()) result = Result(test_id=test.id, success=result_bool, createdAt=unix_time, updatedAt=unix_time) return result_bool, result else: return result_bool
def run(model, description): run_id = str(uuid4()) model.run(run_id) K.clear_session() model_instance = evaluate.load(os.path.join( config.MODEL_DIR, "{}-{}.h5".format(run_id, model.MODEL_NAME), )) train, validation, test_data = data() train_data_stats = characterize_data(train) validation_data_stats = characterize_data(validation) test_data_stats = characterize_data(test_data) results = test(model_instance, train, validation, test_data) result = Result( model.MODEL_NAME, run_id, train_data_stats, validation_data_stats, test_data_stats, description, **results ) db.session.add(result) db.session.commit()
def run(model, description, input_form, label_form="shrunk", split_id=None, loaded_data=None, hyperparameters=dict()): run_id = uuid4() if split_id is None: split_id = run_id history = model.run(run_id, input_form=input_form, loaded_data=loaded_data, label_form=label_form, hyperparameters=hyperparameters) K.clear_session() model_instance = evaluate.load( os.path.join( config.MODEL_DIR, "{}-{}.h5".format(str(run_id), model.MODEL_NAME), )) if loaded_data is None: train, validation, test = data(split_id, input_form=input_form, label_form=label_form, balanced_train=True) else: train, validation, test = loaded_data train.reset() validation.reset() test.reset() train_data_stats = characterize_data(train) validation_data_stats = characterize_data(validation) test_data_stats = characterize_data(test) results = test_model(model_instance, train, validation, test) training.reset() validation.reset() test.reset() result = Result(model.MODEL_NAME, str(run_id), str(split_id), train_data_stats, validation_data_stats, test_data_stats, description, input_form, label=label_form, hyperparameters=hyperparameters, history=history, **results) db.session.add(result) db.session.commit()
def submit(): for key in flask.request.form: question_id = int(key[key.find('-') + 1:]) answer_id = int(flask.request.form[key]) respondent_id = str(uuid4()) result = Result() result.respondent_id = respondent_id result.question_id = question_id result.answer_id = answer_id session.add(result) session.commit() return flask.render_template('strona.html')
from db import session, Result, Entry_Requirement, Entry # add possible results session.add_all( [Result(result='win'), Result(result='lose'), Result(result='deferred')]) # add possible entry conditions session.add_all([ Entry_Requirement( giveaway_type='Watch a short video', query_selector="('.continue_button_inner', '.boxClickTarget')"), Entry_Requirement(giveaway_type='No entry requirement', query_selector="('.boxClickTarget', '.a-button-input')"), Entry_Requirement( giveaway_type='Follow * on *', query_selector= "('.a-button-input','.a-button-input', '.boxClickTarget')"), Entry_Requirement(giveaway_type='Subscribe to a newsletter', query_selector="('.a-button-input')"), ]) session.commit() #result: a-size-base-plus a-color-secondary qa-giveaway-result-text a-text-bold #deferred result: a-size-base-plus a-color-secondary qa-giveaway-result-text a-text-bold #time: a-size-small a-color-secondary qa-giveaway-winner-declare-time-text #Aug 17, 2018 11:59 PM PDT # prize_image in #prize-image