-make get_host_queue_entries return full info on related objects (host + job)
-display said info in job detail + host detail pages



git-svn-id: http://test.kernel.org/svn/autotest/trunk@1469 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/frontend/afe/rpc_utils.py b/frontend/afe/rpc_utils.py
index 0764272..e57a183 100644
--- a/frontend/afe/rpc_utils.py
+++ b/frontend/afe/rpc_utils.py
@@ -15,16 +15,22 @@
 	-convert datetimes to strings
 	"""
 	objects = gather_unique_dicts(objects)
-	new_objects = []
-	for data in objects:
+	return _prepare_data(objects)
+
+
+def _prepare_data(data):
+	'Recursively process data structures'
+	if isinstance(data, dict):
 		new_data = {}
 		for key, value in data.iteritems():
-			if isinstance(value, datetime.datetime):
-				new_data[key] = str(value)
-			else:
-				new_data[key] = value
-		new_objects.append(new_data)
-	return new_objects
+			new_data[key] = _prepare_data(value)
+		return new_data
+	elif isinstance(data, list):
+		return [_prepare_data(item) for item in data]
+	elif isinstance(data, datetime.datetime):
+		return str(data)
+	else:
+		return data
 
 
 def extra_job_filters(not_yet_run=False, running=False, finished=False):