summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwillmcgugan <willmcgugan@67cdc799-7952-0410-af00-57a81ceafa0f>2008-07-27 10:29:41 +0000
committerwillmcgugan <willmcgugan@67cdc799-7952-0410-af00-57a81ceafa0f>2008-07-27 10:29:41 +0000
commit341721f58feb1e6e332ca35c41936c837be0a6b4 (patch)
treebdd0d65613cf921bac52541eeee296732c6d035e
parent890d2e846d08ced6a2d2086752092a51a54095c4 (diff)
downloadpyfilesystem-341721f58feb1e6e332ca35c41936c837be0a6b4.tar.gz
Added remove method to memoryfs
git-svn-id: http://pyfilesystem.googlecode.com/svn/trunk@15 67cdc799-7952-0410-af00-57a81ceafa0f
-rw-r--r--fs/memoryfs.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/fs/memoryfs.py b/fs/memoryfs.py
index a4047c0..a26cc6c 100644
--- a/fs/memoryfs.py
+++ b/fs/memoryfs.py
@@ -308,6 +308,25 @@ class MemoryFS(FS):
raise FSError("NO_FILE", path)
+ def remove(self, path):
+
+ dir_entry = self._get_dir_entry(path)
+
+ if dir_entry is None:
+ raise FSError("NO_FILE", path)
+
+ if dir_entry.islocked():
+ raise FSError("FILE_LOCKED", path)
+
+ pathname, dirname = pathsplit(path)
+
+ parent_dir = self._get_dir_entry(pathname)
+
+ del parent_dir.contents[dirname]
+
+
+
+
def _on_close_memory_file(self, path, value):
filepath, filename = pathsplit(path)