1.1 --- a/imiptools/filesys.py Fri Feb 27 00:35:07 2015 +0100
1.2 +++ b/imiptools/filesys.py Fri Feb 27 01:11:16 2015 +0100
1.3 @@ -34,6 +34,14 @@
1.4 except OSError:
1.5 pass
1.6
1.7 +def make_path(base, parts):
1.8 + for part in parts:
1.9 + pathname = join(base, part)
1.10 + if not exists(pathname):
1.11 + mkdir(pathname)
1.12 + fix_permissions(pathname, True)
1.13 + base = pathname
1.14 +
1.15 class FileBase:
1.16
1.17 "Basic filesystem operations."
1.18 @@ -43,7 +51,8 @@
1.19 def __init__(self, store_dir):
1.20 self.store_dir = store_dir
1.21 if not exists(self.store_dir):
1.22 - makedirs(self.store_dir, DEFAULT_DIR_PERMISSIONS)
1.23 + makedirs(self.store_dir)
1.24 + fix_permissions(self.store_dir, True)
1.25
1.26 def get_file_object(self, base, *parts):
1.27 pathname = join(base, *parts)
1.28 @@ -66,7 +75,7 @@
1.29 expected = filename
1.30
1.31 if not exists(parent):
1.32 - makedirs(parent, DEFAULT_DIR_PERMISSIONS)
1.33 + make_path(self.store_dir, parts[:-1])
1.34
1.35 return filename
1.36