From a978ea9a7cbcbd5edf24fa4da60aa9bdac31aff6 Mon Sep 17 00:00:00 2001 From: idroz Date: Mon, 30 Nov 2020 22:03:57 +0000 Subject: [PATCH] address #35 --- commands/import.go | 2 +- platform/host_api.go | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/commands/import.go b/commands/import.go index 7dd0eb6..52c495f 100644 --- a/commands/import.go +++ b/commands/import.go @@ -10,7 +10,7 @@ import ( var braveImportImage = &cobra.Command{ Use: "import NAME", - Short: "Import a tarball into local Bravetools image repository", + Short: "Import an LXD image tarball into local Bravetools image repository", Long: ``, Run: importImage, } diff --git a/platform/host_api.go b/platform/host_api.go index 790c2ab..4d56a1a 100644 --- a/platform/host_api.go +++ b/platform/host_api.go @@ -78,22 +78,25 @@ func (bh *BraveHost) AddRemote() error { } // ImportLocalImage import tarball into local images folder -func (bh *BraveHost) ImportLocalImage(name string) error { +func (bh *BraveHost) ImportLocalImage(sourcePath string) error { home, _ := os.UserHomeDir() + + _, imageName := filepath.Split(sourcePath) + imagePath := home + shared.ImageStore - hashFile := imagePath + name + ".md5" + hashFile := imagePath + imageName + ".md5" - _, err := os.Stat(home + shared.ImageStore + name) + _, err := os.Stat(home + shared.ImageStore + imageName) if !os.IsNotExist(err) { - return errors.New("Image " + name + " already exists in local image storage") + return errors.New("Image " + imageName + " already exists in local image store") } - err = shared.CopyFile(name, imagePath+name) + err = shared.CopyFile(sourcePath, imagePath+imageName) if err != nil { - return errors.New("Failed to copy image archive to local image storage: " + err.Error()) + return errors.New("Failed to copy image archive to local image store: " + err.Error()) } - imageHash, err := shared.FileHash(name) + imageHash, err := shared.FileHash(sourcePath) if err != nil { return errors.New("Failed to generate image hash: " + err.Error()) }