# HG changeset patch # User Paul Boddie # Date 1424995876 -3600 # Node ID adf8e079e7c51a575ea8e3ec11bbcd3d45802f63 # Parent 09d20ba9675862915954d8d29e121d7b40476c04 Actually set directory permissions: makedirs seems not to bother doing so. diff -r 09d20ba96758 -r adf8e079e7c5 imiptools/filesys.py --- a/imiptools/filesys.py Fri Feb 27 00:35:07 2015 +0100 +++ b/imiptools/filesys.py Fri Feb 27 01:11:16 2015 +0100 @@ -34,6 +34,14 @@ except OSError: pass +def make_path(base, parts): + for part in parts: + pathname = join(base, part) + if not exists(pathname): + mkdir(pathname) + fix_permissions(pathname, True) + base = pathname + class FileBase: "Basic filesystem operations." @@ -43,7 +51,8 @@ def __init__(self, store_dir): self.store_dir = store_dir if not exists(self.store_dir): - makedirs(self.store_dir, DEFAULT_DIR_PERMISSIONS) + makedirs(self.store_dir) + fix_permissions(self.store_dir, True) def get_file_object(self, base, *parts): pathname = join(base, *parts) @@ -66,7 +75,7 @@ expected = filename if not exists(parent): - makedirs(parent, DEFAULT_DIR_PERMISSIONS) + make_path(self.store_dir, parts[:-1]) return filename