mirror of
https://github.com/netinvent/npbackup.git
synced 2024-09-20 23:06:17 +08:00
Simplify _has_recent_snapshot() code, improve date regex
This commit is contained in:
parent
933b290e2a
commit
94b569063f
|
@ -874,24 +874,21 @@ class ResticRunner:
|
|||
if not snapshot_list or not delta:
|
||||
return False, backup_ts
|
||||
tz_aware_timestamp = datetime.now(timezone.utc).astimezone()
|
||||
# Begin with most recent snapshot
|
||||
snapshot_list.reverse()
|
||||
for snapshot in snapshot_list:
|
||||
print(snapshot)
|
||||
if re.match(
|
||||
r"[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9]\..*\+[0-2][0-9]:[0-9]{2}",
|
||||
snapshot["time"],
|
||||
|
||||
# Now just take the last snapshot in list (being the more recent), and check whether it's too old
|
||||
last_snapshot = snapshot_list[-1]
|
||||
if re.match(
|
||||
r"[0-9]{4}-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9](\.\d*)?(\+[0-2][0-9]:[0-9]{2})?",
|
||||
last_snapshot["time"],
|
||||
):
|
||||
backup_ts = dateutil.parser.parse(snapshot["time"])
|
||||
snapshot_age_minutes = (
|
||||
tz_aware_timestamp - backup_ts
|
||||
).total_seconds() / 60
|
||||
if delta - snapshot_age_minutes > 0:
|
||||
logger.info(
|
||||
f"Recent snapshot {snapshot['short_id']} of {snapshot['time']} exists !"
|
||||
)
|
||||
return True, backup_ts
|
||||
return None, backup_ts
|
||||
backup_ts = dateutil.parser.parse(last_snapshot["time"])
|
||||
snapshot_age_minutes = (tz_aware_timestamp - backup_ts).total_seconds() / 60
|
||||
if delta - snapshot_age_minutes > 0:
|
||||
logger.info(
|
||||
f"Recent snapshot {last_snapshot['short_id']} of {last_snapshot['time']} exists !"
|
||||
)
|
||||
return True, backup_ts
|
||||
return False, backup_ts
|
||||
|
||||
@check_if_init
|
||||
def has_recent_snapshot(self, delta: int = None) -> Tuple[bool, Optional[datetime]]:
|
||||
|
|
Loading…
Reference in a new issue