tree d8dfc767ea6aa376f47dd5735e641e38b6d4bb99
parent a5d29bcaad3599861318befc1c9c57552dd5089d
author Michael Walsh <micwalsh@us.ibm.com> 1560285889 -0500
committer George Keishing <gkeishin@in.ibm.com> 1560360516 +0000

Add regex support to filter_struct

- filter_struct():
  - Added support for regex argument.
  - Added support for a filter_dict value of None.
  - Simplified code.
- New match_struct():
  Return True or False to indicate whether the given structure matches the
  given the match dictionary.
- Improved nested_get():
  - Improved documentation.
  - Improved ability to traverse beyond the first sub-level looking for
    matching keys.  Consequently, one can even pass structures containing no
    subordinate dictionaries at all.  In this case, an empty list is returned.
    This could have some applications where a caller wants results from a
    structure which may or may not contain the requested key fields.

Change-Id: I8acfe2614b73dc2c5a6963c55e430d4d3149011b
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
