summaryrefslogtreecommitdiff
path: root/heatclient/common/utils.py
diff options
context:
space:
mode:
authorRakesh H S <rh-s@hp.com>2015-05-19 15:59:36 +0530
committerRakesh H S <rh-s@hp.com>2015-05-22 10:24:53 +0530
commitba0ce835a823e8091cbb9c983cba67a0a97ca9ce (patch)
treeab4fb2383d136084a27635df27d4c812ab5a054b /heatclient/common/utils.py
parentc604876528588fb3f452de7258324e90da8ac202 (diff)
downloadpython-heatclient-ba0ce835a823e8091cbb9c983cba67a0a97ca9ce.tar.gz
Adds --format=log option to event-list
Provides functionality to print events as log. Closes-Bug: #1420504 Change-Id: I9bfb9676fbc3dd9d689e2db5bf3202378b344af7
Diffstat (limited to 'heatclient/common/utils.py')
-rw-r--r--heatclient/common/utils.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/heatclient/common/utils.py b/heatclient/common/utils.py
index 840641f..a64fc64 100644
--- a/heatclient/common/utils.py
+++ b/heatclient/common/utils.py
@@ -86,6 +86,32 @@ def print_dict(d, formatters=None):
print(pt.get_string(sortby='Property'))
+def event_log_formatter(events):
+ """Return the events in log format."""
+ event_log = []
+ log_format = _("%(event_date)s %(event_time)s %(event_id)s "
+ "[%(rsrc_name)s]: %(rsrc_status)s %(rsrc_status_reason)s")
+ for event in events:
+ event_time = getattr(event, 'event_time', '')
+ time_date = event_time.split('T')
+ try:
+ event_time = time_date[0]
+ event_date = time_date[1][:-1]
+ except IndexError:
+ event_time = event_date = ''
+
+ log = log_format % {
+ 'event_date': event_date, 'event_time': event_time,
+ 'event_id': getattr(event, 'id', ''),
+ 'rsrc_name': getattr(event, 'resource_name', ''),
+ 'rsrc_status': getattr(event, 'resource_status', ''),
+ 'rsrc_status_reason': getattr(event, 'resource_status_reason', '')
+ }
+ event_log.append(log)
+
+ return "\n".join(event_log)
+
+
def find_resource(manager, name_or_id):
"""Helper for the _find_* methods."""
# first try to get entity as integer id