def select(self, item): """Select an item from the KB. Args: item ({attribute_name: attribute_value}) Returns: SelectionEvent """ return Event.SelectionEvent(self.agent, item, time=self.timestamp())
def select(self, userid, idx): try: with self.conn: cursor = self.conn.cursor() u = self._get_user_info_unchecked(cursor, userid) scenario = self.scenario_db.get(u.scenario_id) kb = scenario.get_kb(u.agent_index) item = kb.items[idx] self.send(userid, Event.SelectionEvent(u.agent_index, item, str(time.time()))) return item except sqlite3.IntegrityError: print("WARNING: Rolled back transaction") return None