norgbackup/norg/borg/extract.nim

27 lines
828 B
Nim
Raw Normal View History

2024-08-19 03:21:46 +02:00
import ../model/config_type
2024-08-27 22:16:31 +02:00
import ../model/log_type
2024-08-19 03:21:46 +02:00
import execute
import strformat
import os
proc isEmpty(dir: string): bool =
var count = 0
for idx, f in walkDir(dir): return false
#count += 1
return count == 0
proc extractArchive*(nc: NorgConfig, repo: Repository): int =
let archive = fmt"{repo.path}::{nc.args.archive}"
var further_args = nc.args.further_args
2024-08-19 03:21:46 +02:00
if nc.args.extract_destination != "":
discard existsOrCreateDir(nc.args.extract_destination)
setCurrentDir(nc.args.extract_destination)
let dir = getCurrentDir()
if dir.isEmpty():
2024-08-27 22:16:31 +02:00
info "Restoring..."
let ok = run genCommand(cmd = "extract", repo = archive, further_args = further_args)
2024-08-19 03:21:46 +02:00
return ok
else:
2024-08-27 22:16:31 +02:00
error "Not restoring to non-empty destination\r\nPlease use the --destination flag or cd to an empty directory."