From 16b0f761a0aab13b08f84ffca29bf957996c2861 Mon Sep 17 00:00:00 2001 From: Will Toohey Date: Wed, 23 Jan 2019 10:26:17 +1000 Subject: [PATCH] Fix files with no timestamp --- ifstools/handlers/GenericFile.py | 8 +++++++- ifstools/utils.py | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ifstools/handlers/GenericFile.py b/ifstools/handlers/GenericFile.py index e6a58ac..3901f1c 100644 --- a/ifstools/handlers/GenericFile.py +++ b/ifstools/handlers/GenericFile.py @@ -8,7 +8,13 @@ from .. import utils class GenericFile(Node): def from_xml(self, element): - self.start, self.size, self.time = self._split_ints(element.text) + info = self._split_ints(element.text) + # sometimes we don't get a timestamp + if len(info) == 2: + self.start, self.size = info + self.time = -1 + else: + self.start, self.size, self.time = info def from_filesystem(self, folder): self.base_path = self.parent.base_path diff --git a/ifstools/utils.py b/ifstools/utils.py index d499846..90ce88f 100644 --- a/ifstools/utils.py +++ b/ifstools/utils.py @@ -21,4 +21,6 @@ def save_with_timestamp(filename, data, timestamp): mkdir_silent(os.path.dirname(filename)) with open(filename, 'wb') as f: f.write(data) - os.utime(filename, (timestamp,timestamp)) + # we store invalid timestamps as -1 + if timestamp >= 0: + os.utime(filename, (timestamp,timestamp))