Exemplo n.º 1
0
Arquivo: mfs.py Projeto: ogsy/mockfs
    def rmdir(self, fspath):
        """Remove the entry for a directory path

        Implements the :func:`os.rmdir` interface.

        """
        path = self.abspath(fspath)
        dirname = os.path.dirname(path)
        basename = os.path.basename(path)
        entry = self._direntry(dirname)
        if not util.is_dir(entry):
            raise _OSError(errno.ENOENT, path)

        try:
            direntry = entry[basename]
        except KeyError:
            raise _OSError(errno.ENOENT, fspath)

        if not util.is_dir(direntry):
            raise _OSError(errno.ENOTDIR, fspath)

        if len(direntry) != 0:
            raise _OSError(errno.ENOTEMPTY, fspath)

        del entry[basename]
Exemplo n.º 2
0
    def rmdir(self, fspath):
        """Remove the entry for a directory path

        Implements the :func:`os.rmdir` interface.

        """
        path = self.abspath(fspath)
        dirname = os.path.dirname(path)
        basename = os.path.basename(path)
        entry = self._direntry(dirname)
        if not util.is_dir(entry):
            raise _OSError(errno.ENOENT, path)

        try:
            direntry = entry[basename]
        except KeyError:
            raise _OSError(errno.ENOENT, fspath)

        if not util.is_dir(direntry):
            raise _OSError(errno.ENOTDIR, fspath)

        if len(direntry) != 0:
            raise _OSError(errno.ENOTEMPTY, fspath)

        del entry[basename]
Exemplo n.º 3
0
Arquivo: mfs.py Projeto: ogsy/mockfs
    def isdir(self, path):
        """
        Return True if path is a directory

        Implements the :func:`os.path.isdir` interface.

        """
        return util.is_dir(self._direntry(path))
Exemplo n.º 4
0
    def isdir(self, path):
        """
        Return True if path is a directory

        Implements the :func:`os.path.isdir` interface.

        """
        return util.is_dir(self._direntry(path))
Exemplo n.º 5
0
Arquivo: mfs.py Projeto: ogsy/mockfs
    def read(self, path):
        path = self.abspath(path)
        dirname = os.path.dirname(path)
        basename = os.path.basename(path)
        entry = self._direntry(dirname)
        if not util.is_dir(entry):
            raise _OSError(errno.EPERM, path)

        try:
            return entry[basename]
        except KeyError:
            raise _OSError(errno.ENOENT, path)
Exemplo n.º 6
0
    def read(self, path):
        path = self.abspath(path)
        dirname = os.path.dirname(path)
        basename = os.path.basename(path)
        entry = self._direntry(dirname)
        if not util.is_dir(entry):
            raise _OSError(errno.EPERM, path)

        try:
            return entry[basename]
        except KeyError:
            raise _OSError(errno.ENOENT, path)
Exemplo n.º 7
0
    def remove(self, path):
        """Remove the entry for a file path

        Implements the :func:`os.remove` interface.

        """
        path = self.abspath(path)
        dirname = os.path.dirname(path)
        basename = os.path.basename(path)
        entry = self._direntry(dirname)
        if not util.is_dir(entry):
            raise _OSError(errno.EPERM, path)

        try:
            fsentry = entry[basename]
        except KeyError:
            raise _OSError(errno.ENOENT, path)

        if util.is_dir(fsentry):
            raise _OSError(errno.EPERM, path)

        del entry[basename]
Exemplo n.º 8
0
Arquivo: mfs.py Projeto: ogsy/mockfs
    def chdir(self, path):
        # Make it absolute
        if os.path.isabs(path):
            cdpath = path
        else:
            cdpath = os.path.join(self._cwd, path)

        entry = self._mfs._direntry(path)
        if entry is None:
            raise _OSError(errno.ENOENT, path)
        elif not util.is_dir(entry):
            raise _OSError(errno.ENOTDIR, path)

        self._cwd = _abspath_builtin(cdpath)
Exemplo n.º 9
0
    def chdir(self, path):
        # Make it absolute
        if os.path.isabs(path):
            cdpath = path
        else:
            cdpath = os.path.join(self._cwd, path)

        entry = self._mfs._direntry(path)
        if entry is None:
            raise _OSError(errno.ENOENT, path)
        elif not util.is_dir(entry):
            raise _OSError(errno.ENOTDIR, path)

        self._cwd = _abspath_builtin(cdpath)
Exemplo n.º 10
0
Arquivo: mfs.py Projeto: ogsy/mockfs
    def listdir(self, path):
        """
        Return the directory contents of 'path'

        Implements the :func:`os.listdir` interface.
        :param path: filesystem path

        """
        direntry = self._direntry(path)
        if direntry is None:
            raise _OSError(errno.ENOENT, path)
        if util.is_file(direntry):
            raise _OSError(errno.ENOTDIR, path)
        if util.is_dir(direntry):
            return list(sorted(direntry.keys()))
        raise _OSError(errno.EINVAL, path)
Exemplo n.º 11
0
    def listdir(self, path):
        """
        Return the directory contents of 'path'

        Implements the :func:`os.listdir` interface.
        :param path: filesystem path

        """
        direntry = self._direntry(path)
        if direntry is None:
            raise _OSError(errno.ENOENT, path)
        if util.is_file(direntry):
            raise _OSError(errno.ENOTDIR, path)
        if util.is_dir(direntry):
            return list(sorted(direntry.keys()))
        raise _OSError(errno.EINVAL, path)
Exemplo n.º 12
0
    def remove(self, path):
        """Remove the entry for a file path

        Implements the :func:`os.remove` interface.

        """
        path = self.abspath(path)
        dirname = os.path.dirname(path)
        basename = os.path.basename(path)
        entry = self._direntry(dirname)
        if not util.is_dir(entry):
            raise _OSError(errno.EPERM, path)

        try:
            fsentry = entry[basename]
        except KeyError:
            raise _OSError(errno.ENOENT, path)

        if not util.is_file(fsentry):
            raise _OSError(errno.EPERM, path)

        del entry[basename]