diff options
author | Olivier Tilloy <olivier@tilloy.net> | 2010-05-26 14:54:40 +0200 |
---|---|---|
committer | Olivier Tilloy <olivier@tilloy.net> | 2010-05-26 14:54:40 +0200 |
commit | aff0f1577e24176bb2dec7afc8f05552708e0dc0 (patch) | |
tree | 8bc736e654d9618c6b9169cc2e2c040e9c84eb07 /test | |
parent | f96572db9fabcde9874398fa9964ac6a8290fad7 (diff) | |
download | pyexiv2-aff0f1577e24176bb2dec7afc8f05552708e0dc0.tar.gz |
Optionnally preserve the file's timestamp when writing back metadata.
Diffstat (limited to 'test')
-rw-r--r-- | test/metadata.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/metadata.py b/test/metadata.py index 98be0be..7abcb6e 100644 --- a/test/metadata.py +++ b/test/metadata.py @@ -33,6 +33,7 @@ from pyexiv2.utils import FixedOffset, Rational import datetime import os import tempfile +import time import unittest @@ -91,6 +92,44 @@ class TestImageMetadata(unittest.TestCase): metadata = ImageMetadata('idontexist') self.failUnlessRaises(IOError, metadata.read) + def test_write_preserve_timestamps(self): + stat = os.stat(self.pathname) + atime = stat.st_atime + mtime = stat.st_mtime + metadata = ImageMetadata(self.pathname) + metadata.read() + metadata.comment = 'Yellow Submarine' + time.sleep(1.1) + metadata.write(preserve_timestamps=True) + stat2 = os.stat(self.pathname) + atime2 = stat2.st_atime + mtime2 = stat2.st_atime + self.failUnlessEqual(atime2, atime) + self.failUnlessEqual(mtime2, mtime) + + def test_write_dont_preserve_timestamps(self): + stat = os.stat(self.pathname) + atime = stat.st_atime + mtime = stat.st_mtime + metadata = ImageMetadata(self.pathname) + metadata.read() + metadata.comment = 'Yellow Submarine' + time.sleep(1.1) + metadata.write() + stat2 = os.stat(self.pathname) + atime2 = stat2.st_atime + mtime2 = stat2.st_atime + self.failIfEqual(atime2, atime) + self.failIfEqual(mtime2, mtime) + metadata.comment = 'Yesterday' + time.sleep(1.1) + metadata.write(preserve_timestamps=True) + stat3 = os.stat(self.pathname) + atime3 = stat3.st_atime + mtime3 = stat3.st_atime + self.failUnlessEqual(atime3, atime2) + self.failUnlessEqual(mtime3, mtime2) + ########################### # Test EXIF-related methods ########################### |