norgbackup/norg/borg/borg.nim

67 lines
2 KiB
Nim
Raw Normal View History

import ../model/config_type
import ../model/command_type
2024-08-18 19:45:37 +02:00
import ../utils/actions
2024-08-27 22:16:31 +02:00
import ../model/log_type
2024-08-19 03:21:46 +02:00
import execute
import prune
import create
import mount
import extract
2024-08-27 22:16:31 +02:00
proc initRepo(nc: NorgConfig, repo: Repository): int =
return runDiscard genCommand(cmd = "init", repo = repo.path, further_args = nc.args.further_args)
proc listArchives(nc: NorgConfig, repo: Repository): int =
return run genCommand(cmd = "list", repo = repo.path, further_args = nc.args.further_args)
2024-08-18 19:45:37 +02:00
proc compactRepo(nc: NorgConfig, repo: Repository): int =
2024-08-27 22:16:31 +02:00
error "Not Yet Implemented."
2024-08-18 19:45:37 +02:00
discard
proc checkRepo(nc: NorgConfig, repo: Repository): int =
2024-08-27 22:16:31 +02:00
error "Not Yet Implemented."
2024-08-18 19:45:37 +02:00
discard
proc execute*(nc: NorgConfig, repo: Repository): int {.discardable.} =
case nc.args.command
of INIT:
2024-08-27 22:16:31 +02:00
info "Initializing repo: ", repo.label
discard initRepo(nc, repo)
of CREATE:
run_actions(norg_config.actions.before_backup)
2024-08-27 22:16:31 +02:00
info "Creating archive on ", repo.label
discard createBackup(nc, repo)
run_actions(norg_config.actions.after_backup)
of LIST:
2024-08-27 22:16:31 +02:00
info "Listing Archives on ", repo.label
discard listArchives(nc, repo)
of MOUNT:
2024-08-27 22:16:31 +02:00
info "Mounting Archive from ", repo.label
discard mountArchive(nc, repo)
of UMOUNT:
discard unmountArchive(nc)
of EXTRACT:
run_actions(norg_config.actions.before_extract)
2024-08-27 22:16:31 +02:00
info "Extracting archive from ", repo.label
discard extractArchive(nc, repo)
run_actions(norg_config.actions.after_extract)
of PRUNE:
run_actions(norg_config.actions.before_prune)
2024-08-27 22:16:31 +02:00
info "Pruning repo: ", repo.label
discard pruneRepo(nc, repo)
run_actions(norg_config.actions.after_prune)
of DELETE:
2024-08-27 22:16:31 +02:00
info "Deleting Archive ", nc.args.archive
discard deleteArchive(nc, repo)
of COMPACT:
run_actions(norg_config.actions.before_compact)
discard compactRepo(nc, repo)
run_actions(norg_config.actions.after_compact)
of CHECK:
run_actions(norg_config.actions.before_check)
discard checkRepo(nc, repo)
run_actions(norg_config.actions.after_check)