Commit Graph

43 Commits (master)

Author SHA1 Message Date
AnthonyF d35c7edd4f Version bump
Sad excuse for a commit I know.
2021-12-09 22:01:46 -05:00
AnthonyF 67cd64f3ce Version fix, github actions update 2021-12-09 21:41:11 -05:00
AnthonyF cf9d43fed2 Housekeeping + Minor bugfixes
Fixed: #186, #188, #189

Cleaned up lingering `.format()`s and replaced with appropriate f-strings.

Updated project structure to slightly more modern standards.
2021-12-09 21:18:42 -05:00
AnthonyF f3e91a7d4d Exposed slugify args
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
2021-01-10 15:03:53 -05:00
Piotr Patrzyk 3d3a524af2
Jsdatafix (#167)
* 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
2020-09-27 08:05:04 -07:00
Anthony Forsberg 243e537684 Switch to shutil for getting terminal size
Due to possible permissions issues with automated testing switching to shutil to indirectly call os.get_terminal_size() is best.
2018-03-09 20:24:52 -05:00
Anthony Forsberg 7dd655cece Version bump 2018-03-06 17:34:35 -05:00
Anthony Forsberg e8a016fc35 Fixes #138 for all terminals 2018-02-07 17:32:53 -05:00
Anthony Forsberg 1d82ca669a Output tweaks
Fixes #138 and #139
2018-02-06 15:40:38 -05:00
Anthony Forsberg 1521acd977 Preliminary 0.0.9 changes
`--artist` tag can no longer be used on its own accidently.
2017-09-27 17:10:45 -04:00
Anthony Forsberg 905ff8cfd4 Session file tweaks and track url schema fix
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.
2017-09-27 14:22:03 -04:00
Anthony Forsberg 5bb969f8d7 Python version requirement added to setup 2017-05-26 12:59:06 -04:00
Anthony Forsberg c460cdc09c Added debug option, corrected an argument check
`--debug` option is now in, should give you a better idea of what is happening when used and where a possible error may be.
2017-05-25 11:22:45 -04:00
Anthony Forsberg c6ae5a99fc Version bump for release 2017-05-24 15:31:56 -04:00
Anthony Forsberg 25e5da8cdb not.finished file bugfix
Take into account filename changes per version when deleting the temp file at the end of the download process.
2017-05-21 13:47:37 -04:00
Anthony Forsberg c8680f2694 Version specific not.finished files, etc
`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.
2017-05-20 16:02:17 -04:00
Anthony Forsberg 4413ad3ab2 Added --no-slugify option
Option added to maintain track, artist, and album names as they are. (Retain spaces, capitalization, etc)
2017-05-08 21:31:56 -04:00
Anthony Forsberg c881c1d00d Fixed complete failure after Bandcamp site update.
Fixes: #113, #110
2017-05-08 12:58:03 -04:00
Anthony Forsberg 12327e119b 0.0.8 Update
Added --track for downloading individual tracks/singles
Added --embed-art to forcibly embed album art if available
2017-04-15 09:30:34 -04:00
Anthony Forsberg 098ae8c6c7 Refactored BandcampJSON, Added --group option, readability changes.
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.
2017-02-17 22:09:17 -05:00
Anthony Forsberg 737fd8256e cleanup 2017-02-07 20:26:07 -05:00
Anthony Forsberg 360732cdcc Requirements update, setup changes 2017-02-07 20:23:25 -05:00
Anthony Forsberg fcd7526d5c Checks and alternative values added for singles 2017-01-28 08:23:31 -05:00
Anthony Forsberg 88107f7538 Fixes #100 and possibly #99
Patches Requests if Python version is below 3.6.0 to fix a quirk in
httplib relating to utf-8 headers.

Also tracks are now sanitized before tagging.
2017-01-28 06:12:21 -05:00
Anthony Forsberg 6dc73cf5eb version bump, readme correction 2017-01-16 16:45:46 -05:00
Anthony Forsberg feb6d93bb9 Fixes #95
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.
2017-01-13 14:15:42 -05:00
Anthony Forsberg c74e82ba96 Changes that I should not have merged from master into 0.0.7 2017-01-12 19:36:21 -05:00
Anthony Forsberg abf0dd261b Merge 0.0.7 (#94)
* 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.
2017-01-12 19:25:43 -05:00
Anthony Forsberg 0176249237 Fixes #95 2017-01-12 19:20:52 -05:00
Anthony Forsberg 98ccac604a Bugfix update prep 2017-01-09 20:31:08 -05:00
Anthony Forsberg d8ce58e66d Revert "Preliminary 0.0.7 changes"
This reverts commit 8cc97905a7.
2017-01-04 14:08:56 -05:00
Anthony Forsberg 8cc97905a7 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.
2017-01-04 14:07:53 -05:00
Anthony Forsberg e3bb0acff2 Version numbering 2016-12-30 10:39:53 -05:00
Anthony Forsberg 6ba85c44fb Lyrics saved as USTL tag inside MP3
Modified/Merged @sun2rise's PR, was having issues merging the actual PR
due to the repo being gone (and I'm bad at git)

Had to make some changes to the imports as Mutagen has had some changes.
2016-12-27 18:25:21 -05:00
Anthony Forsberg 97d6817fb0 Setup changes, PyPI, manifest
New version up on PyPI had to make some changes to setup.
2016-12-19 11:41:10 -05:00
Anthony Forsberg 02858b19d4 Tweaks for PyPI
requirements.txt is now concrete and setup.py is abstract as it should
be.
2016-12-15 21:18:16 -05:00
Anthony Forsberg 7df0b81556 Public Domain -> Unlicense 2016-12-15 21:09:47 -05:00
Anthony Forsberg 3c3f2f230e Updated setup.py, fixed lingering differences
setup.py now has both Python tags.

Fixed some lingering spacing differences.
2016-12-15 20:50:37 -05:00
Anthony Forsberg a8ebb47e3e Big update, see description.
Refactored to match Python 3 branch.

Switched to a README.rst (for PyPI support) spell checked, updated
information, removed IRC link in favor of Discord (No one was ever in
the IRC channel)

Updated deps, requirements, and setup.py.

Now using the latest versions of the required dependencies.
Note: May cause lextab.py/yacctab.py warnings, they are harmless. If the
warning are annoying delete those two files in site-packages/Slimit
(That are generated anyway)

Updated code, using latest supported syntax for everything possible
while still supporting Python 2.7.x.

Currently code is 1:1 with the Python 3 branch.
2016-12-15 20:28:24 -05:00
Iheanyi Ekechukwu 90e87ff4f7 Version bump. 2016-03-15 07:15:15 -04:00
Iheanyi Ekechukwu 683cda2abf Update version again. -_- 2015-12-11 18:36:18 -06:00
Iheanyi Ekechukwu ba0e1832ef Version bump, fix a bug with dependencies. 2015-12-11 18:27:55 -06:00
Iheanyi Ekechukwu 9383b60030 Add files necessary for packaging. 2015-12-11 18:03:14 -06:00