-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):