aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevan Franchini <twitch153@gentoo.org>2015-06-13 00:51:04 -0400
committerDevan Franchini <twitch153@gentoo.org>2015-06-13 00:51:19 -0400
commit47eedeb3ec092b6916e309a36adb3e9baee4024a (patch)
tree304658be2c849a76a6ac9bfeec622be93260f915
parentflocker.py: Removes assert for more verbose exception (diff)
downloadlayman-47eedeb3ec092b6916e309a36adb3e9baee4024a.tar.gz
layman-47eedeb3ec092b6916e309a36adb3e9baee4024a.tar.bz2
layman-47eedeb3ec092b6916e309a36adb3e9baee4024a.zip
flocker.py: Adds file mode checking for get_file()
Ensures that the file being returned by get_file() is opened with the correct mode.
-rw-r--r--layman/flocker.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/layman/flocker.py b/layman/flocker.py
index aa5f3f8..3b9df64 100644
--- a/layman/flocker.py
+++ b/layman/flocker.py
@@ -73,7 +73,8 @@ class FileLocker(object):
if mode not in ('r', 'w+'):
raise LockingException('Invalid mode %(mode)s' % {'mode': mode})
- if path not in self.files or self.files[path].closed:
+ if (path not in self.files or self.files[path].closed or
+ self.files[path].mode != mode):
self.files[path] = fileopen(path, mode)
f = self.files[path]