def delete(self, exp_id): """ Delete an experiment +--------------------------------------------------------------------+ | Example | +====================================================================+ | http://example.com/exp/EXP_ID | +--------------------------------------------------------------------+ :requires: A secure cookie obtained by logging in. :param int exp_id: The ID of the experiment to be deleted. :returns: A JSON showing the deleted experiment. :raises 401: If the experiment does not belong to this user or the exp_id is wrong. :raises 401: If user is not logged in or if there is no secure cookie available. """ if self.get_current_user(): if self.validate_user_experiment(exp_id): db = Database() mongo_db = MongoLog() response = db.delete_experiment(exp_id) mongo_db.log_deleted_experiment(response) self.write(json.dumps(response['exp_id'])) else: raise ExceptionHandler( reason="Experiment could not be validated.", status_code=401) else: raise ExceptionHandler(reason="Could not validate user.", status_code=401)
def __init__(self, exp_id, key="notUsedForLoopBack"): self.db = Database() self.mongo_db = MongoLog() self.exp_id = exp_id # sets the experimentID self.properties = self.db.get_one_experiment(self.exp_id) self.key = key self.valid = False # should be taken from Redis
def log_theta(): """ For every experiment, if Theta logging flag is set. Log theta from redis to mongodb. """ redis_db = Database() mongo_db = MongoLog() experiment_ids = redis_db.get_experiment_ids() for experiment_id in experiment_ids: exp = Experiment(experiment_id) if exp.properties["hourly_theta"] == "True": theta = exp.get_theta() theta["exp_id"] = experiment_id mongo_db.log_hourly_theta(theta)
def log_theta(): """ For every experiment, if Theta logging flag is set. Log theta from redis to mongodb. """ redis_db = Database() mongo_db = MongoLog() experiment_ids = redis_db.get_experiment_ids() for experiment_id in experiment_ids: exp = Experiment(experiment_id) properties = redis_db.get_one_experiment(experiment_id) if properties['hourlyTheta'] == "True": theta = exp.get_theta() theta['exp_id'] = experiment_id mongo_db.log_hourly_theta(theta) print("We did it, we stored some stuff!")
def __init__(self, exp_id, key="notUsedForLoopBack"): self.db = Database() self.mongo_db = MongoLog() self.advice_db = Advice() self.exp_id = exp_id # sets the experimentID self.properties = self.db.get_one_experiment(self.exp_id) self.key = key self.valid = False # should be taken from Redis self.safe_builtins = builtins.__dict__.copy() del self.safe_builtins["compile"], \ self.safe_builtins["exec"], \ self.safe_builtins["eval"], \ self.safe_builtins["__import__"] self.safe_builtins.update({'base' : base, 'numpy' : np, \ 'np' : np, 'scipy' : sp, 'sp' : sp, 'bts': bts, \ 'lm' : lm, 'lif': lif, 'thompson' : thompson, \ 'thmp' : thompson, 'tbl' : thompson_bayesian_linear, \ 'random' : random, 'self' : self, \ 'Experiment' : Experiment})