def _get_directory_stash(self, path):
try:<EOL><INDENT>save_dir = AdjacentTempDirectory(path)<EOL>save_dir.create()<EOL><DEDENT>except OSError:<EOL><INDENT>save_dir = TempDirectory(kind="<STR_LIT>")<EOL>save_dir.create()<EOL><DEDENT>self._save_dirs[os.path.normcase(path)] = save_dir<EOL>return save_dir.path<EOL>
Stashes a directory.

        Directories are stashed adjacent to their original location if
        possible, or else moved/copied into the user's temp dir.