def get_data_from_unit(self, unit: Unit) -> Dict[str, Any]: agent = unit.get_assigned_agent() assert ( agent is not None ), f"Trying to get completed data from unassigned unit {unit}" return { "worker_id": agent.worker_id, "unit_id": unit.db_id, "assignment_id": unit.assignment_id, "status": agent.db_status, "data": agent.state.get_parsed_data(), "task_start": agent.state.get_task_start(), "task_end": agent.state.get_task_end(), }
def get_mturk_ids_from_unit_id(db, unit_id: str) -> Dict[str, Optional[str]]: """ Find the relevant mturk ids from the given mephisto unit id """ mturk_unit = Unit(db, unit_id) assignment_id = mturk_unit.get_mturk_assignment_id() hit_id = mturk_unit.get_mturk_hit_id() agent = mturk_unit.get_assigned_agent() worker_id = None if agent is not None: worker_id = agent.get_worker().get_mturk_worker_id() return { "assignment_id": assignment_id, "hit_id": hit_id, "worker_id": worker_id }