|
@@ -179,12 +179,15 @@ class Archive:
|
|
@property
|
|
@property
|
|
def ts(self):
|
|
def ts(self):
|
|
"""Timestamp of archive creation (start) in UTC"""
|
|
"""Timestamp of archive creation (start) in UTC"""
|
|
- return parse_timestamp(self.metadata[b'time'])
|
|
|
|
|
|
+ ts = self.metadata[b'time']
|
|
|
|
+ return parse_timestamp(ts)
|
|
|
|
|
|
@property
|
|
@property
|
|
def ts_end(self):
|
|
def ts_end(self):
|
|
"""Timestamp of archive creation (end) in UTC"""
|
|
"""Timestamp of archive creation (end) in UTC"""
|
|
- return parse_timestamp(self.metadata[b'time_end'])
|
|
|
|
|
|
+ # fall back to time if there is no time_end present in metadata
|
|
|
|
+ ts = self.metadata.get(b'time_end') or self.metadata[b'time']
|
|
|
|
+ return parse_timestamp(ts)
|
|
|
|
|
|
@property
|
|
@property
|
|
def fpr(self):
|
|
def fpr(self):
|
|
@@ -231,9 +234,11 @@ Number of files: {0.stats.nfiles}'''.format(self)
|
|
raise self.AlreadyExists(name)
|
|
raise self.AlreadyExists(name)
|
|
self.items_buffer.flush(flush=True)
|
|
self.items_buffer.flush(flush=True)
|
|
if timestamp is None:
|
|
if timestamp is None:
|
|
|
|
+ self.end = datetime.utcnow()
|
|
start = self.start
|
|
start = self.start
|
|
end = self.end
|
|
end = self.end
|
|
else:
|
|
else:
|
|
|
|
+ self.end = timestamp
|
|
start = timestamp
|
|
start = timestamp
|
|
end = timestamp # we only have 1 value
|
|
end = timestamp # we only have 1 value
|
|
metadata = StableDict({
|
|
metadata = StableDict({
|