Source code
Revision control
Copy as Markdown
Other Tools
# 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"