diff options
Diffstat (limited to 'sugar_network/toolkit/__init__.py')
-rw-r--r-- | sugar_network/toolkit/__init__.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sugar_network/toolkit/__init__.py b/sugar_network/toolkit/__init__.py index 073ec4d..8acfe27 100644 --- a/sugar_network/toolkit/__init__.py +++ b/sugar_network/toolkit/__init__.py @@ -390,7 +390,10 @@ def new_file(path, mode=0644): file object """ - result = _NewFile(dir=dirname(path), prefix=basename(path)) + dirpath = dirname(path) + if not exists(dirpath): + os.makedirs(dirpath) + result = _NewFile(dir=dirpath, prefix=basename(path)) result.dst_path = path os.fchmod(result.fileno(), mode) return result @@ -775,6 +778,10 @@ class _NewFile(object): def name(self): return self._file.name + @name.setter + def name(self, value): + self.dst_path = value + def close(self): self._file.close() if exists(self.name): |