From 93490960ff4e75f38a7cc6f6d49f10f949f1a7da Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Fri, 25 Dec 2015 23:17:26 -0600 Subject: [PATCH] remove uneeded deepcopy fields --- lib/ansible/plugins/callback/__init__.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/ansible/plugins/callback/__init__.py b/lib/ansible/plugins/callback/__init__.py index 7371fe0a51e..487a67b982b 100644 --- a/lib/ansible/plugins/callback/__init__.py +++ b/lib/ansible/plugins/callback/__init__.py @@ -22,7 +22,7 @@ __metaclass__ = type import json import difflib import warnings -from copy import deepcopy +from copy import copy, deepcopy from ansible.compat.six import string_types @@ -128,9 +128,18 @@ class CallbackBase: return item + def deepcopy_exclude(self, copyme, exclude=[]): + res = copy(copyme) + try: + setattr(res, exclude, None) + except TypeError: + for e in exclude: + setattr(res, e, None) + return deepcopy(res) + def _process_items(self, result): for res in result._result['results']: - newres = self._copy_result(result) + newres = self.deepcopy_exclude(result, '_result') res['item'] = self._get_item(res) newres._result = res if 'failed' in res and res['failed']: