Fixed: #186, #188, #189
Cleaned up lingering `.format()`s and replaced with appropriate f-strings.
Updated project structure to slightly more modern standards.
Enhanced flexibility when naming output files:
Example: `--template="%{artist}/%{album}/%{track}-%{title}" --space-char="_"`
Would produce "scene" style filenames.
Also added is the ability to:
- Retain upper case letters
- Leave spaces intact
- Convert characters to ASCII (北京 -> beijing)
- Allow additional characters like `()[];` etc
* bandcampjson simplify
* one merged json
* change script identifier
* version bump
* rm extract_data
* go back to json data as list
* tralbum fix
* fix title path
* logging fix
The thumbnail is often 700x700 in resolution, the pop-up image tends
to be 1200x1200.
For use in music libraries, where the album art may be displayed. It's
preferable to fetch the original resolution album art.
bandcamp-dl will now ignore the session file if a url is manually provided, this should prevent clashing with things such as frontends or other external programs which make use of it. Restoring previous download sessions will still work, simply run bandcamp-dl without arguments (Other than --base-dir if previously used) and it will behave as normal.
Bandcamp changed their file urls to include the protocol, code has been changed to reflect this.
* Fix for #123 - ensures lockfile deleted from base directory
__main__ created the file in base-dir but bandcampDownloader checked for it in the working
directory. As bandcampDownloader has the base-dir, this commit uses that to point in
the expected place.
* Fix#123 arguments need breathing room
Fixed lyrics embedding, they will now work even if the lyrics were left out of the track data as we now insert it ourselves by grabbing it from the tracks individual page.
This of course slows things down when using the option so be aware.
Under Windows while using the `--overwrite` option files would refuse to be overwritten, this is now fixed by first removing the file then renaming it.
`not.finished` files are now version specific, old `not.finished` files will simply not be loaded preventing any issues with feature changes that require new arguments.
Minimum Python version is now enforced properly, it should now be impossible to install (via `pip`) with an unsupported Python version.
Bandcamp-dl version is now located in setup.py only with it being added to a generated `__init__.py` during packaging or install.
BandcampJSON now returns a list of JSON strings, Album data, Embed data,
and Page data and is only called once.
Added a `--group` option to insert a group tag, currently this attempts
to use the artist/album Label.
Made some small readability changes for future work, adjusted the
imports and filenames for the last time.
Fixed the incomplete file issue due to not understanding Mutagens
tagging process.
Also added in user_agent and requests session, the user-agent because
its proper and session because it increases performance slightly by
using keep-alive by default.
* Preliminary 0.0.7 changes
Moved to a new album/track data parser using demjson.
Slimit and Ply are no longer required.
Some basic spelling corrections and consistency changes.
Function Annotation, return types, and docstrings added.
* Initial commit for the Issue Template
* Fleshed out the issue template
* Switched to rst (oops), reformatted accordingly
* Update ISSUE_TEMPLATE.rst
* Moved CONTRIBUTING to the hidden .github directory
* No longer trips up on unavailable tracks in an album
* Much more robust file integrity checking, session file support.
Multi-step process in making sure files are downloaded and encoded
properly.
Bandcamp-dl will now attempt to search for a not.finished file and if it
is found load that sessions arguments and resume operation form where it
left off.
* Improve download status/progress messages
Made the download progress and status messages neater, no more multiple
progress bars and lines of status messages.
* Final 0.0.7 changes
Setup imports for distribution again.
Reformatted docstrings.
Clarified choices in partial download dialog.
Updated changelog.
Updated manifest.
Updated readme.
Moved to a new album/track data parser using demjson.
Slimit and Ply are no longer required.
Some basic spelling corrections and consistency changes.
Function Annotation, return types, and docstrings added.
Added the option to skip grabbing album art.
Removed the lyric grabbing code for now as it seems that if its
available its already embedded
Organized the mutagen imports and encoding.