From 1a73a7a8555da25ee7c7a36496a389928e379002 Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Sun, 31 Aug 2008 06:25:13 -0400 Subject: [PATCH] Make read() a method of TreeKey. Signed-off-by: Anders Kaseorg --- routefs/__init__.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/routefs/__init__.py b/routefs/__init__.py index bd7fa7b..162601e 100644 --- a/routefs/__init__.py +++ b/routefs/__init__.py @@ -113,13 +113,7 @@ class RouteFS(fuse.Fuse): If the path specified is a file, return the requested portion of the file """ - obj = self._get_file(path) - if type(obj) is NoEntry: - return -errno.ENOENT - elif type(obj) in (Directory, Symlink): - return -errno.EINVAL - else: - return obj[offset:offset + length] + return self._get_file(path).read(length, offset) def readlink(self, path): """ @@ -138,12 +132,16 @@ class TreeKey(object): return -errno.EINVAL def readdir(self, offset): return -errno.EINVAL + def read(self, length, offset): + return -errno.EINVAL class NoEntry(TreeKey): def getattr(self): return -errno.ENOENT def readdir(self, offset): return -errno.ENOENT + def read(self, length, offset): + return -errno.ENOENT class TreeEntry(TreeKey): default_mode = 0444 @@ -202,6 +200,9 @@ class File(TreeEntry, str): st.st_size = len(self) return st + def read(self, length, offset): + return self[offset:offset + length] + def main(cls): """ A convenience function for initializing a RouteFS filesystem -- 1.7.9.5