def _recurmatch(path, aug):
 if path:
  clean_path = path.rstrip('/*')
  (yield (clean_path, aug.get(path)))
  for i in aug.match((clean_path + '/*')):
   i = i.replace('!', '\\!')
   for _match in _recurmatch(i, aug):
    (yield _match)

def _recurmatch ( path , aug ) : if path : clean_path = path . rstrip ( '/*' ) ( yield ( clean_path , aug . get ( path ) ) ) for i in aug . match ( ( clean_path + '/*' ) ) : i = i . replace ( '!' , '\\!' ) for _match in _recurmatch ( i , aug ) : ( yield _match )
recursive generator providing the infrastructure for augtools print behavior .