def _insert_user_used_experiment(self, user_login, experiment_name, experiment_category_name, start_time, origin, coord_address, reservation_id, end_date, commands = None, files = None):
        if commands is None:
            commands = []

        if files is None:
            files    = []

        session = self.Session()
        try:
            user = session.query(model.DbUser).filter_by(login=user_login).one()
            category = session.query(model.DbExperimentCategory).filter_by(name=experiment_category_name).one()
            experiment = session.query(model.DbExperiment). \
                                    filter_by(name=experiment_name). \
                                    filter_by(category=category).one()
            experiment_id = experiment.id
            exp_use = model.DbUserUsedExperiment(user, experiment, start_time, origin, coord_address, reservation_id, end_date)
            session.add(exp_use)
            session.commit()
            return experiment_id
        finally:
            session.close()
Return a list of filter type tuples as required by
dataset/ETHPy150Open weblabdeusto/weblabdeusto/server/src/weblab/core/db.py/DatabaseGateway._insert_user_used_experiment--crossover with--dataset/ETHPy150Open rproepp/spykeviewer/spykeviewer/ui/main_window_neo.py/MainWindowNeo.get_filter_types