def _get_config_generator(filename):
for d in _get_config(filename):<EOL><INDENT>repo = d['<STR_LIT>']<EOL>parsedrepo = giturlparse.parse(repo)<EOL>name = '<STR_LIT>'.format(parsedrepo.owner, parsedrepo.name)<EOL>src_dir = os.path.join(_get_clone_dir(), name)<EOL>files = d.get('<STR_LIT>')<EOL>post_commands = d.get('<STR_LIT>', [])<EOL>dst_dir = None<EOL>if not files:<EOL><INDENT>dst_dir = _get_dst_dir(d['<STR_LIT>'])<EOL><DEDENT>yield {<EOL>'<STR_LIT>': repo,<EOL>'<STR_LIT>': _get_lock_file(name),<EOL>'<STR_LIT:version>': d['<STR_LIT:version>'],<EOL>'<STR_LIT:name>': name,<EOL>'<STR_LIT:src>': src_dir,<EOL>'<STR_LIT>': dst_dir,<EOL>'<STR_LIT>': _get_files_config(src_dir, files),<EOL>'<STR_LIT>': post_commands,<EOL>}<EOL><DEDENT>
A generator which populates and return a dict.

:parse filename: A string containing the path to YAML file.
:return: dict