From f5743396dcffe55c92bcbd31de414214b2edcf9c Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Mon, 28 Aug 2017 12:43:09 -0400 Subject: [PATCH] skip all hidden keys, allow exclude list --- lib/ansible/utils/helpers.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ansible/utils/helpers.py b/lib/ansible/utils/helpers.py index 997e597fb5..900e0d1ac3 100644 --- a/lib/ansible/utils/helpers.py +++ b/lib/ansible/utils/helpers.py @@ -34,8 +34,10 @@ def pct_to_int(value, num_items, min_value=1): return int(value) -def object_to_dict(obj): +def object_to_dict(obj, exclude=None): """ - Converts an object into a dict making the properties into keys + Converts an object into a dict making the properties into keys, allows excluding certain keys """ - return dict((key, getattr(obj, key)) for key in dir(obj) if not key.startswith('__')) + if exclude is None or not isinstance(exclude, list): + exclude = [] + return dict((key, getattr(obj, key)) for key in dir(obj) if not (key.startswith('_') or key in exclude))