@ -44,6 +44,7 @@ from ansible.errors import AnsibleError, AnsibleFilterError, AnsibleUndefinedVar
from ansible . module_utils . six import iteritems , string_types , text_type
from ansible . module_utils . six import iteritems , string_types , text_type
from ansible . module_utils . _text import to_native , to_text , to_bytes
from ansible . module_utils . _text import to_native , to_text , to_bytes
from ansible . module_utils . common . _collections_compat import Sequence , Mapping , MutableMapping
from ansible . module_utils . common . _collections_compat import Sequence , Mapping , MutableMapping
from ansible . module_utils . common . collections import is_sequence
from ansible . plugins . loader import filter_loader , lookup_loader , test_loader
from ansible . plugins . loader import filter_loader , lookup_loader , test_loader
from ansible . template . safe_eval import safe_eval
from ansible . template . safe_eval import safe_eval
from ansible . template . template import AnsibleJ2Template
from ansible . template . template import AnsibleJ2Template
@ -632,7 +633,7 @@ class Templar:
return result
return result
elif isinstance ( variable , ( list , tuple ) ) :
elif is_sequence ( variable ) :
return [ self . template (
return [ self . template (
v ,
v ,
preserve_trailing_newlines = preserve_trailing_newlines ,
preserve_trailing_newlines = preserve_trailing_newlines ,
@ -640,7 +641,7 @@ class Templar:
overrides = overrides ,
overrides = overrides ,
disable_lookups = disable_lookups ,
disable_lookups = disable_lookups ,
) for v in variable ]
) for v in variable ]
elif isinstance ( variable , ( dict , Mapping ) ) :
elif isinstance ( variable , Mapping ) :
d = { }
d = { }
# we don't use iteritems() here to avoid problems if the underlying dict
# we don't use iteritems() here to avoid problems if the underlying dict
# changes sizes due to the templating, which can happen with hostvars
# changes sizes due to the templating, which can happen with hostvars