code cleanup, logging

This commit is contained in:
Jarek Kowalski
2016-08-22 21:58:04 -07:00
parent f70c69c9d9
commit cd012d8fbc
11 changed files with 102 additions and 93 deletions

View File

@@ -52,16 +52,8 @@ func runBackupCommand(context *kingpin.ParseContext) error {
repoOptions = append(repoOptions, repo.WriteBack(*backupWriteBack))
}
vlt, err := openVault()
if err != nil {
return err
}
mgr, err := vlt.OpenRepository(repoOptions...)
if err != nil {
return err
}
defer mgr.Close()
vlt, r := mustOpenVaultAndRepository()
defer r.Close()
var options []fs.UploaderOption
@@ -69,7 +61,7 @@ func runBackupCommand(context *kingpin.ParseContext) error {
options = append(options, fs.EnableBundling())
}
bgen, err := backup.NewGenerator(mgr, options...)
bgen, err := backup.NewGenerator(r, options...)
if err != nil {
return err
}

View File

@@ -57,19 +57,12 @@ func findBackups(vlt *vault.Vault, path string) ([]string, string, error) {
}
func runBackupsCommand(context *kingpin.ParseContext) error {
vlt, err := openVault()
if err != nil {
return err
}
mgr, err := vlt.OpenRepository()
if err != nil {
return err
}
defer mgr.Close()
vlt, r := mustOpenVaultAndRepository()
defer r.Close()
var previous []string
var relPath string
var err error
if *backupsPath != "" {
path, err := filepath.Abs(*backupsPath)

View File

@@ -18,11 +18,9 @@
)
func runLSCommand(context *kingpin.ParseContext) error {
vlt := mustOpenVault()
mgr, err := vlt.OpenRepository()
if err != nil {
return err
}
vlt, r := mustOpenVaultAndRepository()
defer vlt.Close()
defer r.Close()
oid, err := parseObjectID(*lsCommandPath, vlt)
if err != nil {
@@ -37,7 +35,7 @@ func runLSCommand(context *kingpin.ParseContext) error {
}
}
dir := fs.NewDirectory(mgr, oid)
dir := fs.NewDirectory(r, oid)
entries, err := dir.Readdir()
if err != nil {
return err

View File

@@ -27,12 +27,7 @@ func (r *root) Root() (fusefs.Node, error) {
}
func runMountCommand(context *kingpin.ParseContext) error {
vlt := mustOpenVault()
r, err := vlt.OpenRepository()
if err != nil {
return err
}
vlt, r := mustOpenVaultAndRepository()
fuseConnection, err := fuse.Mount(
*mountPoint,

View File

@@ -20,11 +20,9 @@
)
func runShowCommand(context *kingpin.ParseContext) error {
vlt := mustOpenVault()
mgr, err := vlt.OpenRepository()
if err != nil {
return err
}
vlt, r := mustOpenVaultAndRepository()
defer vlt.Close()
defer r.Close()
for _, oidString := range *showObjectIDs {
oid, err := parseObjectID(oidString, vlt)
@@ -32,7 +30,7 @@ func runShowCommand(context *kingpin.ParseContext) error {
return err
}
if err := showObject(mgr, oid); err != nil {
if err := showObject(r, oid); err != nil {
return err
}
}
@@ -40,14 +38,14 @@ func runShowCommand(context *kingpin.ParseContext) error {
return nil
}
func showObject(mgr repo.Repository, oid repo.ObjectID) error {
r, err := mgr.Open(oid)
func showObject(r repo.Repository, oid repo.ObjectID) error {
rd, err := r.Open(oid)
if err != nil {
return err
}
defer r.Close()
defer rd.Close()
rawdata, err := ioutil.ReadAll(r)
rawdata, err := ioutil.ReadAll(rd)
if err != nil {
return err
}

View File

@@ -17,21 +17,18 @@ func init() {
}
func runRepositoryInfoCommand(context *kingpin.ParseContext) error {
v, err := openVault()
if err != nil {
return err
}
vlt, r := mustOpenVaultAndRepository()
vf := v.Format()
vf := vlt.Format()
fmt.Println("Vault:")
fmt.Println(" Version: ", vf.Version)
fmt.Println(" Unique ID: ", hex.EncodeToString(vf.UniqueID))
fmt.Println(" Encryption: ", vf.Encryption)
fmt.Println(" Checksum: ", vf.Checksum)
fmt.Println(" Storage: ", v.Storage())
fmt.Println(" Storage: ", vlt.Storage())
fmt.Println()
f := v.RepositoryFormat()
f := vlt.RepositoryFormat()
fmt.Println("Repository:")
fmt.Println(" Version: ", f.Version)
@@ -43,12 +40,7 @@ func runRepositoryInfoCommand(context *kingpin.ParseContext) error {
fmt.Println(" ID Format: ", f.ObjectFormat)
fmt.Println(" Blob Size: ", f.MaxBlockSize/1024, "KB")
fmt.Println(" Inline Blob Size:", f.MaxInlineContentLength/1024, "KB")
r, err := v.OpenRepository()
if err == nil {
fmt.Println(" Storage: ", r.Storage())
} else {
fmt.Println(" WARNING: Cannot open repository.")
}
fmt.Println(" Storage: ", r.Storage())
return nil
}

View File

@@ -16,12 +16,9 @@ func init() {
}
func listVaultContents(context *kingpin.ParseContext) error {
v, err := openVault()
if err != nil {
return err
}
vlt := mustOpenVault()
entries, err := v.List(*vaultListPrefix)
entries, err := vlt.List(*vaultListPrefix)
if err != nil {
return err
}

View File

@@ -12,10 +12,7 @@ func init() {
}
func removeVaultItem(context *kingpin.ParseContext) error {
vlt, err := openVault()
if err != nil {
return err
}
vlt := mustOpenVault()
for _, v := range *vaultRemoveItems {
if err := vlt.Remove(v); err != nil {

View File

@@ -11,6 +11,7 @@
"strings"
"github.com/bgentry/speakeasy"
"github.com/kopia/kopia/repo"
"github.com/kopia/kopia/vault"
)
@@ -38,6 +39,31 @@ func mustOpenVault() *vault.Vault {
return s
}
func mustOpenRepository(extraOptions ...repo.RepositoryOption) repo.Repository {
_, r := mustOpenVaultAndRepository(extraOptions...)
return r
}
func mustOpenVaultAndRepository(extraOptions ...repo.RepositoryOption) (*vault.Vault, repo.Repository) {
v := mustOpenVault()
r, err := v.OpenRepository(repositoryOptionsFromFlags(extraOptions)...)
failOnError(err)
return v, r
}
func repositoryOptionsFromFlags(extraOptions []repo.RepositoryOption) []repo.RepositoryOption {
var opts []repo.RepositoryOption
for _, o := range extraOptions {
opts = append(opts, o)
}
if *traceStorage {
opts = append(opts, repo.EnableLogging())
}
return opts
}
func getHomeDir() string {
if runtime.GOOS == "windows" {
home := os.Getenv("HOMEDRIVE") + os.Getenv("HOMEPATH")