38 lines
1 KiB
Nim
38 lines
1 KiB
Nim
import ../model/config_type
|
|
import ../utils/actions
|
|
|
|
import init
|
|
import backup
|
|
import list
|
|
import mount
|
|
import extract
|
|
import prune
|
|
|
|
proc execute*(nc: NorgConfig, repo: Repository) =
|
|
case nc.args.command
|
|
of INIT:
|
|
echo "Initializing repo: ", repo.label
|
|
discard initRepo(nc, repo)
|
|
of CREATE:
|
|
run_actions(norg_config.actions.before_backup)
|
|
echo "Backing up to ", repo.label
|
|
discard createBackup(nc, repo)
|
|
run_actions(norg_config.actions.after_backup)
|
|
of LIST:
|
|
echo "Listing Snapshots at ", repo.label
|
|
discard listSnapshots(nc, repo)
|
|
of MOUNT:
|
|
echo "Mounting Snapshot from ", repo.label
|
|
discard mountSnapshot(nc, repo)
|
|
of EXTRACT:
|
|
run_actions(norg_config.actions.before_extract)
|
|
echo "Extracting backup from ", repo.label
|
|
discard extractArchive(nc, repo)
|
|
run_actions(norg_config.actions.after_extract)
|
|
of PRUNE:
|
|
run_actions(norg_config.actions.before_prune)
|
|
echo "Pruning repo: ", repo.label
|
|
discard pruneRepo(nc, repo)
|
|
run_actions(norg_config.actions.after_prune)
|
|
else:
|
|
discard
|