def insert(self,v=-1): print self.dbpath _db = db(self.dbpath) j = 0 self.jobs = [DD(dic) for dic in self.sampler.create_hp(v)] for i,_job in enumerate(self.jobs): _job.update({EXPERIMENT: str(self.exppath)}) insert_dict(_job,_db) j+=1 print 'inserting job: '+str(_job) if i == v: break print 'Inserted',j,'jobs in',self.dbpath
def save(self, table_name, row): db = self._open_db(table_name) with SafeSession(db) as safe_session: if "id" in row: row_id = row["id"] del row["id"] sql_row = self._load_in_safe_session(db=db, safe_session=safe_session, row_id=row_id)[0] logger.debug("update row %d" % row_id) with safe_session.set_timer(60 * 5): sql_row.update_simple(flatten(row), safe_session.session) else: logger.debug("insert new row") with safe_session.set_timer(60 * 5): sql_row = sql.insert_dict(flatten(row), db, session=safe_session.session) if sql_row is None: raise OperationalError("Identical row already exists") sql_row._set_in_session(sql.JOBID, sql_row.id, safe_session.session) row_id = sql_row.id with safe_session.set_timer(60 * 5): safe_session.session.commit() logger.debug("session commited") # load in new session otherwise lazy attribute selection hangs # on forever... why is that!? with SafeSession(db) as safe_session: sql_row = self._load_in_safe_session(db, safe_session, row_id=row_id)[0] logger.debug("Fetch all row attributes...") eager_dict = self._eager_dicts([sql_row], safe_session)[0] logger.debug("Fetch done") eager_dict['id'] = row_id return eager_dict
def save(self, table_name, row): db = self._open_db(table_name) with SafeSession(db) as safe_session: if "id" in row: row_id = row["id"] del row["id"] sql_row = self._load_in_safe_session( db=db, safe_session=safe_session, row_id=row_id)[0] logger.debug("update row %d" % row_id) with safe_session.set_timer(60 * 5): sql_row.update_simple(flatten(row), safe_session.session) else: logger.debug("insert new row") with safe_session.set_timer(60 * 5): sql_row = sql.insert_dict(flatten(row), db, session=safe_session.session) if sql_row is None: raise OperationalError("Identical row already exists") sql_row._set_in_session(sql.JOBID, sql_row.id, safe_session.session) row_id = sql_row.id with safe_session.set_timer(60 * 5): safe_session.session.commit() logger.debug("session commited") # load in new session otherwise lazy attribute selection hangs # on forever... why is that!? with SafeSession(db) as safe_session: sql_row = self._load_in_safe_session(db, safe_session, row_id=row_id)[0] logger.debug("Fetch all row attributes...") eager_dict = self._eager_dicts([sql_row], safe_session)[0] logger.debug("Fetch done") eager_dict['id'] = row_id return eager_dict