# mypy: allow-untyped-defs from datetime import datetime def serialize_session(session): return { "token": session.token, "types": session.test_types, "user_agent": session.user_agent, "labels": session.labels, "timeouts": session.timeouts, "test_state": session.test_state, "last_completed_test": session.last_completed_test, "tests": session.tests, "pending_tests": session.pending_tests, "running_tests": session.running_tests, "status": session.status, "browser": session.browser, "date_created": millis_to_iso(session.date_created), "date_started": millis_to_iso(session.date_started), "date_finished": millis_to_iso(session.date_finished), "is_public": session.is_public, "reference_tokens": session.reference_tokens, "expiration_date": millis_to_iso(session.expiration_date), "type": session.type, "malfunctioning_tests": session.malfunctioning_tests } def serialize_sessions(sessions): serialized_sessions = [] for session in sessions: serialized_sessions.append(serialize_session(session)) return serialized_sessions def serialize_device(device): return { "token": device.token, "user_agent": device.user_agent, "name": device.name, "last_active": millis_to_iso(device.last_active) } def millis_to_iso(millis): if millis is None: return None return datetime.utcfromtimestamp(millis/1000.0).isoformat() + "+00:00"