From 1e436a2f43a9c8c06e4ca9919dc4975b39592bf7 Mon Sep 17 00:00:00 2001 From: "Jesse Pretorius (odyssey4me)" Date: Fri, 20 Jul 2018 10:20:10 +0000 Subject: [PATCH] Revert "Add a get_nested filter" This reverts commit 80a1262252db951e40749d37f5348aa8907039c6 because we're not using it, and using json_query is simple enough. Change-Id: I8d5fba867eceb6892a7a995a9b86153e88353480 --- filter/osa-filters.py | 31 +------------------ .../get-nested-removed-779b8d2648d2e8b4.yaml | 5 +++ tests/test-filters.yml | 15 --------- 3 files changed, 6 insertions(+), 45 deletions(-) create mode 100644 releasenotes/notes/get-nested-removed-779b8d2648d2e8b4.yaml diff --git a/filter/osa-filters.py b/filter/osa-filters.py index 1071a9c1..d624a520 100644 --- a/filter/osa-filters.py +++ b/filter/osa-filters.py @@ -317,34 +317,6 @@ def git_link_parse_name(repo): return git_link_parse(repo)['name'] -def get_nested(target_dict, keys): - """Retrieves values through a nested dictionary. - - If any key on the path is missing, return None - - This helps solves convoluted guards in roles/plays such as the following: - - ('openstack_ansible' not in ansible_local or - 'swift' not in ansible_local['openstack_ansible'] or - 'venv_tag' not in ansible_local['openstack_ansible']['swift'] or - ansible_local['openstack_ansible']['swift']['venv_tag'] == swift_venv_tag) - - With this filter, it could be instead written: - ansible_local|get_nested('openstack_ansible.swift.venv_tag') == swift_venv_tag - - """ - - try: - key, next_keys = keys.split('.', 1) - except ValueError: - return target_dict.get(keys, None) - - try: - next_dict = target_dict[key] - except KeyError: - return None - return get_nested(next_dict, next_keys) - class FilterModule(object): """Ansible jinja2 filters.""" @@ -363,6 +335,5 @@ class FilterModule(object): 'filtered_list': filtered_list, 'git_link_parse': git_link_parse, 'git_link_parse_name': git_link_parse_name, - 'deprecated': _deprecated, - 'get_nested': get_nested + 'deprecated': _deprecated } diff --git a/releasenotes/notes/get-nested-removed-779b8d2648d2e8b4.yaml b/releasenotes/notes/get-nested-removed-779b8d2648d2e8b4.yaml new file mode 100644 index 00000000..4abd262b --- /dev/null +++ b/releasenotes/notes/get-nested-removed-779b8d2648d2e8b4.yaml @@ -0,0 +1,5 @@ +--- +deprecations: + - | + The ``get_gested`` filter has been removed, as it is not used by any + roles/plays. diff --git a/tests/test-filters.yml b/tests/test-filters.yml index 639ef9d4..5ef9bf3a 100644 --- a/tests/test-filters.yml +++ b/tests/test-filters.yml @@ -120,18 +120,3 @@ - name: Validate deprecated filter assert: that: "deprecated_value == old_var" - - - name: Set test_dict fact - set_fact: - test_dict: - a: - b: - c: d - - - name: Validate get_nested returns value - assert: - that: "{{ test_dict|get_nested('a.b.c') == 'd' }}" - - - name: Validate get_nested returns None on missing key - assert: - that: "{{ test_dict|get_nested('a.c') == None }}"