iheanyi / bandcamp-dl

Simple python script to download Bandcamp albums
The Unlicense
941 stars 104 forks source link

Use less verbose output when finish album download #195

Closed nrlquaker closed 2 years ago

nrlquaker commented 2 years ago

Is your feature request related to a problem? Please describe. More like a UI tweak than feature request. When album is downloaded, the app shows last finished track.

bandcamp-dl https://sivyjyar.bandcamp.com/album/golden-threads
(6/6) [==================================================] :: Finished:  Footsteps Shimmer Silver in the Dew...

Describe the solution you'd like Completely remove output after progress indicator. To be like:

bandcamp-dl https://sivyjyar.bandcamp.com/album/golden-threads
(6/6) [==================================================]

It makes no sense for me to show latest track stats. The other way around is to show album name:

bandcamp-dl https://sivyjyar.bandcamp.com/album/golden-threads
(6/6) [==================================================] :: Finished:  Golden Threads

But its to verbose because album name is part of the link in this case. I prefer first solution.

Describe alternatives you've considered Use it like it is)

Additional context None.

Evolution0 commented 2 years ago

Don't see how this would be an improvement, instead you would have no idea what track its on (Without comparing track number against track list on the site) or what stage of the download and metadata embedding process its on. It does show more than what track finished downloading last, it also tells you if its downloading, embedding the metadata, renaming, finished, or being skipped as it already exists in the directory, it just happens fairly fast on most peoples systems.

Unless you mean specifically as an album finishes downloading and not as its downloading tracks, even then I don't see a reason to change it, people using it are either going to start another download in which case the terminal will wipe the output or close their terminal entirely.

Best possible change in this scenario would be:

bandcamp-dl https://sivyjyar.bandcamp.com/album/golden-threads
(6/6) [==================================================] :: Complete!

Or something to make it obvious the entire process is done, though simply seeing (6/6) (or however many tracks) and "Finished" should make that immediately obvious.

If it bothers anyone enough simply add:

print_clean(f'\r({self.track_num}/{self.num_tracks}) [{"=" * done}{" " * (50 - done)}] :: Complete!')

Above: https://github.com/iheanyi/bandcamp-dl/blob/d35c7edd4fb3b9a3c19455629f0994281adaabd9/bandcamp_dl/bandcampdownloader.py#L226

As the print_clean() function wipes the output then prints.

If you are attempting to do something with bandcamp-dl that relies on the output being a certain way let me know and maybe I can help you.

nrlquaker commented 2 years ago

Don't see how this would be an improvement, instead you would have no idea what track its on (Without comparing track number against track list on the site) or what stage of the download and metadata embedding process its on.

My point is if all tracks downloaded successfully just show that album download if complete. Without info about last track.

I got your point. But at user perspective when you download an album you are interested of the status of the album - is it downloaded or not. Not sure if individual track status makes makes sense. In case it says that full album is downloaded and last track is downloaded as well. I don't want to make changes in the local script. Updating it using brew or such will remove all local changes. If you don't want to make any changes please close the issue.

Evolution0 commented 2 years ago

Bandcamp-dl supports more than whole album downloads, it does individual tracks as well and once I get around to it music videos so I would prefer to display the status of each type of item in the download queue.