Skip to content

Commit

Permalink
Started download command
Browse files Browse the repository at this point in the history
  • Loading branch information
craftamap committed Nov 2, 2020
1 parent ed49ffd commit 74c8a50
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 0 deletions.
65 changes: 65 additions & 0 deletions cmd/commands/downloads/download/download.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package download

import (
"fmt"

"github.com/craftamap/bb/cmd/options"
bbgit "github.com/craftamap/bb/git"
"github.com/craftamap/bb/internal"
"github.com/logrusorgru/aurora"
"github.com/spf13/cobra"
)

var (
Web bool
)

func Add(prCmd *cobra.Command, globalOpts *options.GlobalOptions) {
downloadCmd := &cobra.Command{
Use: "download <filename> [<target path>]",
Short: "download files from bitbucket",
Run: func(cmd *cobra.Command, args []string) {
// TODO: Get rid of this "list" workaround
c := internal.Client{
Username: globalOpts.Username,
Password: globalOpts.Password,
}

bbrepo, err := bbgit.GetBitbucketRepo()
if err != nil {
fmt.Printf("%s%s%s\n", aurora.Red(":: "), aurora.Bold("An error occured: "), err)
return
}
if !bbrepo.IsBitbucketOrg() {
fmt.Printf("%s%s%s\n", aurora.Yellow(":: "), aurora.Bold("Warning: "), "Are you sure this is a bitbucket repo?")
return
}
downloads, err := c.GetDownloads(bbrepo.RepoOrga, bbrepo.RepoSlug)
if err != nil {
fmt.Printf("%s%s%s\n", aurora.Red(":: "), aurora.Bold("An error occured: "), err)
return
}

downloadMap := downloadsToMap(downloads)

dwnld, ok := downloadMap[args[0]]
if !ok {
fmt.Println("Zu hülfe!!")
return
}

fmt.Println(dwnld.Links)
},
}

downloadCmd.Flags().BoolVar(&Web, "web", false, "view the pull request in your browser")
prCmd.AddCommand(downloadCmd)
}

func downloadsToMap(downloads *internal.Downloads) map[string]*internal.Download {
downloadMap := map[string]*internal.Download{}
for _, dwnld := range downloads.Values {
downloadMap[dwnld.Name] = &dwnld
}
return downloadMap
}
2 changes: 2 additions & 0 deletions cmd/commands/downloads/downloads.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package downloads

import (
"github.com/craftamap/bb/cmd/commands/downloads/download"
"github.com/craftamap/bb/cmd/commands/downloads/list"
"github.com/craftamap/bb/cmd/commands/downloads/upload"
"github.com/craftamap/bb/cmd/options"
Expand All @@ -16,6 +17,7 @@ func Add(rootCmd *cobra.Command, globalOpts *options.GlobalOptions) {

list.Add(downloadsCmd, globalOpts)
upload.Add(downloadsCmd, globalOpts)
download.Add(downloadsCmd, globalOpts)

rootCmd.AddCommand(downloadsCmd)
}
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ require (
github.com/spance/go-callprivate v0.0.0-20151213012958-d8b9b5523668 // indirect
github.com/spf13/cobra v1.1.0
github.com/spf13/viper v1.7.0
github.com/thoas/go-funk v0.7.0 // indirect
github.com/tidwall/pretty v1.0.2
github.com/wbrefvem/go-bitbucket v0.0.0-20190128183802-fc08fd046abb
)
3 changes: 3 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -269,9 +269,12 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/testify v1.2.1/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/thoas/go-funk v0.7.0 h1:GmirKrs6j6zJbhJIficOsz2aAI7700KsU/5YrdHRM1Y=
github.com/thoas/go-funk v0.7.0/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q=
github.com/tidwall/pretty v1.0.2 h1:Z7S3cePv9Jwm1KwS0513MRaoUe3S01WPbLNV40pwWZU=
github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
Expand Down

0 comments on commit 74c8a50

Please # to comment.