#!/usr/bin/env python3 """ jmes path testing """ from corelibs.debug_handling.dump_data import dump_data from corelibs.json_handling.jmespath_helper import jmespath_search def main() -> None: """ Comment """ __set = { 'a': 'b', 'foobar': [1, 2, 'a'], 'bar': { 'a': 1, 'b': 'c' }, 'baz': [ { 'aa': 1, 'ab': 'cc' }, { 'ba': 2, 'bb': 'dd' }, ], 'foo': { 'a': [1, 2, 3], 'b': ['a', 'b', 'c'] } } __get = [ 'a', 'bar.a', 'foo.a', 'baz[].aa', "[?\"c\" && contains(\"c\", 'b')]", "[?contains(\"c\", 'b')]", ] for __jmespath in __get: result = jmespath_search(__set, __jmespath) print(f"GET {__jmespath}: {dump_data(result)}") if __name__ == "__main__": main() # __END__