Skip to content

Commit fee5314

Browse files
committed
Improve backup.marker error message for rsync_tmbackup importer
1 parent 13f55ba commit fee5314

1 file changed

Lines changed: 21 additions & 6 deletions

File tree

src/borg_import/rsync_tmbackup.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,24 +11,39 @@ def get_tmbackup_snapshots(root, prefix):
1111
regex = re.compile(r"(?P<snapshot_date>.+)")
1212

1313
if not (root / "backup.marker").exists():
14-
raise FileNotFoundError(f"The backup.marker file must exist inside the provided rsync-time-backup root directory: {root}")
14+
raise FileNotFoundError(
15+
f"The backup.marker file must exist inside the provided rsync-time-backup root directory: {root}"
16+
)
17+
1518
for path in discover(str(root), 1):
1619
parsed = parser(path, regex)
1720
if parsed is not None and parsed["snapshot_date"] not in ("latest",):
1821
abs_path = root / path
22+
23+
snapshot_date = parsed["snapshot_date"]
24+
if prefix and snapshot_date.startswith(prefix):
25+
snapshot_date = snapshot_date[len(prefix):]
26+
1927
meta = dict(
2028
name=make_name("".join([prefix, parsed["snapshot_date"]])),
2129
path=abs_path,
22-
timestamp=datetime_from_string(path),
30+
timestamp=datetime_from_string(snapshot_date),
2331
)
2432
yield meta
25-
elif parsed["snapshot_date"] in ("latest",):
33+
34+
elif parsed is not None and parsed["snapshot_date"] in ("latest",):
2635
# "latest" is a symlink to the most recent backup. Import it anyway
2736
# in case the user wants to do borg mount or has existing references
2837
# to "latest".
2938
abs_path = root / path
30-
timestamp = Path("latest").resolve().name
39+
timestamp = (root / "latest").resolve().name
40+
41+
if prefix and timestamp.startswith(prefix):
42+
timestamp = timestamp[len(prefix):]
43+
3144
meta = dict(
32-
name=make_name("".join([prefix, "latest"])), path=abs_path, timestamp=datetime_from_string(timestamp)
45+
name=make_name("".join([prefix, "latest"])),
46+
path=abs_path,
47+
timestamp=datetime_from_string(timestamp),
3348
)
34-
yield meta
49+
yield meta

0 commit comments

Comments
 (0)