Skip to content

Commit

Permalink
Merge pull request #2 from meain/master
Browse files Browse the repository at this point in the history
nicer output with progressbar and emoji
  • Loading branch information
Bharat authored Mar 18, 2018
2 parents f322474 + 13c359b commit d5fb491
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 6 deletions.
2 changes: 1 addition & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package main

import (
"flag"
"github.com/BharatKalluri/spotifydl/src"
"github.com/BharatKalluri/spotifydl/src"
)

func main() {
Expand Down
3 changes: 0 additions & 3 deletions src/downloader.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
package spotifydl

import (
"fmt"
"os"

"github.com/rylio/ytdl"
)

// Downloader is a function to download files
func Downloader(url string) {
fmt.Println("Download started", url)

vid, _ := ytdl.GetVideoInfo(url)
audioTracks := ytdl.FormatList{}

Expand Down
21 changes: 19 additions & 2 deletions src/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package spotifydl
import (
"fmt"

"github.com/gosuri/uiprogress"
"github.com/gosuri/uiprogress/util/strutil"
"github.com/zmb3/spotify"
)

Expand All @@ -15,16 +17,31 @@ func Start(username *string, pid *string) {
playlistID := spotify.ID(*pid)
trackListJSON, _ := cli.UserClient.GetPlaylistTracks(*username, playlistID)
for _, val := range trackListJSON.Tracks {
fmt.Println("Added ", val.Track.Name)
cli.TrackList = append(cli.TrackList, val.Track)
}

fmt.Println("👍 Found", len(cli.TrackList), "tracks")
fmt.Println("🎵 Searching and downloading tracks")
uiprogress.Start()
bar := uiprogress.AddBar(len(cli.TrackList) - 1)

bar.AppendCompleted()
bar.PrependFunc(func(b *uiprogress.Bar) string {
return " 🔍 " + strutil.Resize(cli.TrackList[b.Current()].Name, 30)
})
for _, val := range cli.TrackList {
cli.YoutubeIDList = append(cli.YoutubeIDList, GetYoutubeIds(string(val.Name)+" "+string(val.Album.Name)+" music video"))
bar.Incr()
}

bar2 := uiprogress.AddBar(len(cli.TrackList) - 1)
bar2.AppendCompleted()
bar2.PrependFunc(func(b *uiprogress.Bar) string {
return " ⬇️ " + strutil.Resize(cli.TrackList[b.Current()].Name, 30)
})
for _, track := range cli.YoutubeIDList {
ytURL := "https://www.youtube.com/watch?v=" + track
Downloader(ytURL)
bar2.Incr()
}
uiprogress.Stop()
}

0 comments on commit d5fb491

Please sign in to comment.