diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-07-17 16:30:00 +0100 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-07-17 16:36:56 +0100 |
commit | 9121af8cc6bc3f53646c8dd4d7906368c20e0944 (patch) | |
tree | 2b75905be6da67ce722b9ddb0132670214ea19eb /morphlib | |
parent | eb97755f15c992419deb7be9b173d6a85e9a3353 (diff) | |
download | morph-9121af8cc6bc3f53646c8dd4d7906368c20e0944.tar.gz |
Expose the real filename for SaveFile
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/builder2.py | 2 | ||||
-rw-r--r-- | morphlib/savefile.py | 6 | ||||
-rw-r--r-- | morphlib/savefile_tests.py | 8 |
3 files changed, 12 insertions, 4 deletions
diff --git a/morphlib/builder2.py b/morphlib/builder2.py index a5f86e8d..2ae8785f 100644 --- a/morphlib/builder2.py +++ b/morphlib/builder2.py @@ -257,7 +257,7 @@ class ChunkBuilder(BuilderBase): with self.local_artifact_cache.put_source_metadata( self.artifact.source, self.artifact.cache_key, 'build-log') as log: - log_name = log._savefile_filename + log_name = log.real_filename self.run_commands(builddir, destdir, log) except: self.do_unmounts(mounted) diff --git a/morphlib/savefile.py b/morphlib/savefile.py index c0590667..9392f1a2 100644 --- a/morphlib/savefile.py +++ b/morphlib/savefile.py @@ -44,7 +44,7 @@ class SaveFile(file): ''' def __init__(self, filename, *args, **kwargs): - self._savefile_filename = filename + self.real_filename = filename dirname = os.path.dirname(filename) fd, self._savefile_tempname = tempfile.mkstemp(dir=dirname) os.close(fd) @@ -64,7 +64,7 @@ class SaveFile(file): def close(self): ret = file.close(self) logging.debug('Rename temporary file %s to %s' % - (self._savefile_tempname, self._savefile_filename)) - os.rename(self._savefile_tempname, self._savefile_filename) + (self._savefile_tempname, self.real_filename)) + os.rename(self._savefile_tempname, self.real_filename) return ret diff --git a/morphlib/savefile_tests.py b/morphlib/savefile_tests.py index 442a0779..63c80c9d 100644 --- a/morphlib/savefile_tests.py +++ b/morphlib/savefile_tests.py @@ -43,6 +43,14 @@ class SaveFileTests(unittest.TestCase): def test_there_are_no_files_initially(self): self.assertEqual(os.listdir(self.tempdir), []) + def test_sets_real_filename(self): + f = savefile.SaveFile(self.filename, 'w') + self.assertEqual(f.real_filename, self.filename) + + def test_sets_name_to_temporary_name(self): + f = savefile.SaveFile(self.filename, 'w') + self.assertNotEqual(f.name, self.filename) + def test_saves_new_file(self): f = savefile.SaveFile(self.filename, 'w') f.write('foo') |