diff options
author | Lars Wirzenius <liw@liw.fi> | 2015-08-29 11:05:14 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2015-08-29 11:05:14 +0300 |
commit | 76e7657983b8a1c66bf7082c1abd651f4dc3b23d (patch) | |
tree | 663a1e04226853d52b687eb4ce4b19f4b1d2cf50 /obnamlib/plugins/fuse_plugin.py | |
parent | f61773add4c34fd3e9186eee5ca55f729ee11bb1 (diff) | |
download | obnam-76e7657983b8a1c66bf7082c1abd651f4dc3b23d.tar.gz |
Avoid self-modifying code in FUSE plugin
The old code was correct, but confused pylint. The new code is clearer
for everyone, I think, and should be equivalent.
Diffstat (limited to 'obnamlib/plugins/fuse_plugin.py')
-rw-r--r-- | obnamlib/plugins/fuse_plugin.py | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/obnamlib/plugins/fuse_plugin.py b/obnamlib/plugins/fuse_plugin.py index 4fd196e3..0b9a78ee 100644 --- a/obnamlib/plugins/fuse_plugin.py +++ b/obnamlib/plugins/fuse_plugin.py @@ -98,9 +98,8 @@ class ObnamFuseFile(object): if flags & self.write_flags: raise IOError(errno.EROFS, 'Read only filesystem') - if path == '/.pid': - self.read = self.read_pid - self.release = self.release_pid + self.reading_pid = path == '/.pid' + if self.reading_pid: return try: @@ -113,6 +112,18 @@ class ObnamFuseFile(object): if not stat.S_ISREG(self.metadata.st_mode): raise IOError(errno.EINVAL, 'Invalid argument') + def read(self, length, offset): + if self.reading_pid: + return self.read_pid(length, offset) + else: + return self.read_data(length, offset) + + def release(self, flags): + if self.reading_pid: + return self.release_pid(flags) + else: + return self.release_data(flags) + def read_pid(self, length, offset): tracing.trace('length=%r', length) tracing.trace('offset=%r', offset) @@ -130,7 +141,7 @@ class ObnamFuseFile(object): tracing.trace('called') return self.fuse_fs.getattr(self.path) - def read(self, length, offset): + def read_data(self, length, offset): tracing.trace('self.path=%r', self.path) tracing.trace('length=%r', length) tracing.trace('offset=%r', offset) @@ -185,7 +196,7 @@ class ObnamFuseFile(object): return ''.join(output) - def release(self, flags): + def release_data(self, flags): tracing.trace('flags=%r', flags) return 0 |