From 49579c0b949952fdf4710c58c6c797cac6b9b582 Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Sun, 22 Oct 2017 23:09:28 +0200 Subject: manifest: Support finding the timestamp --- gemato/manifest.py | 11 +++++++++++ tests/test_manifest.py | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/gemato/manifest.py b/gemato/manifest.py index 2c1f4b7..b0168a0 100644 --- a/gemato/manifest.py +++ b/gemato/manifest.py @@ -314,6 +314,17 @@ class ManifestFile(object): for e in self.entries: f.write(u' '.join(e.to_list()) + '\n') + def find_timestamp(self): + """ + Find a timestamp entry and return it. Returns None if there + is no timestamp. + """ + + for e in self.entries: + if isinstance(e, ManifestEntryTIMESTAMP): + return e + return None + def find_path_entry(self, path): """ Find a matching entry for path @path and return it. Returns diff --git a/tests/test_manifest.py b/tests/test_manifest.py index 5e72a8a..43c7e18 100644 --- a/tests/test_manifest.py +++ b/tests/test_manifest.py @@ -58,6 +58,12 @@ class ManifestTest(unittest.TestCase): m.dump(outf) self.assertEqual(outf.getvalue().strip(), TEST_DEPRECATED_MANIFEST.strip()) + def test_find_timestamp(self): + m = gemato.manifest.ManifestFile() + m.load(io.StringIO(TEST_MANIFEST)) + self.assertEqual(m.find_timestamp().ts, + datetime.datetime(2017, 10, 22, 18, 06, 41)) + def test_find_path_entry(self): m = gemato.manifest.ManifestFile() m.load(io.StringIO(TEST_MANIFEST)) -- cgit v1.2.3