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))