def __find_executables(path):
success = False<EOL>progs = {'<STR_LIT>': '<STR_LIT>', '<STR_LIT>': '<STR_LIT>', '<STR_LIT>': '<STR_LIT>', '<STR_LIT>': '<STR_LIT>', '<STR_LIT>': '<STR_LIT>', '<STR_LIT>': '<STR_LIT>'}<EOL>was_quoted = False<EOL>path = path.strip()<EOL>if path.startswith('<STR_LIT:">') and path.endswith('<STR_LIT:">'):<EOL><INDENT>path = path[<NUM_LIT:1>:-<NUM_LIT:1>]<EOL>was_quoted =  True<EOL><DEDENT>if os.path.isdir(path) : <EOL><INDENT>for prg in progs.keys():<EOL><INDENT>if progs[prg]:<EOL><INDENT>continue<EOL><DEDENT>if os.path.exists( os.path.join(path, prg) ):<EOL><INDENT>if was_quoted:<EOL><INDENT>progs[prg] = '<STR_LIT:">' + os.path.join(path, prg) + '<STR_LIT:">'<EOL><DEDENT>else:<EOL><INDENT>progs[prg] = os.path.join(path, prg)<EOL><DEDENT>success = True<EOL><DEDENT>elif os.path.exists( os.path.join(path, prg + '<STR_LIT>') ):<EOL><INDENT>if was_quoted:<EOL><INDENT>progs[prg] = '<STR_LIT:">' + os.path.join(path, prg + '<STR_LIT>') + '<STR_LIT:">'<EOL><DEDENT>else:<EOL><INDENT>progs[prg] = os.path.join(path, prg + '<STR_LIT>')<EOL><DEDENT>success = True<EOL><DEDENT><DEDENT><DEDENT>if success:<EOL><INDENT>return progs<EOL><DEDENT>else:<EOL><INDENT>return None<EOL><DEDENT>
Used by find_graphviz

    path - single directory as a string

    If any of the executables are found, it will return a dictionary
    containing the program names as keys and their paths as values.

    Otherwise returns None