(self, path)
return save_dir.path
Stashes a file.

        If no root has been provided, one will be created for the directory
        in the user's temp directory.
Stashes a file.
Stashes a file .
def _get_file_stash(self, path):
        # type: (str) -> str
        """Stashes a file.

        If no root has been provided, one will be created for the directory
        in the user's temp directory."""
        path = os.path.normcase(path)
        head, old_head = os.path.dirname(path), None
        save_dir = None

        while head != old_head:
            try:
                save_dir = self._save_dirs[head]
                break
            except KeyError:
                pass
            head, old_head = os.path.dirname(head), head
        else:
            # Did not find any suitable root
            head = os.path.dirname(path)
            save_dir = TempDirectory(kind='uninstall')
            save_dir.create()
            self._save_dirs[head] = save_dir

        relpath = os.path.relpath(path, head)
        if relpath and relpath != os.path.curdir:
            return os.path.join(save_dir.path, relpath)
        return save_dir.path
def _get_file_stash ( self , path ) : # type: (str) -> str path = os . path . normcase ( path ) head , old_head = os . path . dirname ( path ) , None save_dir = None while head != old_head : try : save_dir = self . _save_dirs [ head ] break except KeyError : pass head , old_head = os . path . dirname ( head ) , head else : # Did not find any suitable root head = os . path . dirname ( path ) save_dir = TempDirectory ( kind = 'uninstall' ) save_dir . create ( ) self . _save_dirs [ head ] = save_dir relpath = os . path . relpath ( path , head ) if relpath and relpath != os . path . curdir : return os . path . join ( save_dir . path , relpath ) return save_dir . path