2017-05-08 09:58:03 -07:00
|
|
|
bandcamp-dl
|
|
|
|
===========
|
|
|
|
|
|
|
|
download audio from BandCamp.com
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
Synopsis
|
2017-05-08 09:58:03 -07:00
|
|
|
--------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
bandcamp-dl URL
|
|
|
|
|
|
|
|
Installation
|
2017-05-08 09:58:03 -07:00
|
|
|
------------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
From PyPI
|
2017-05-08 09:58:03 -07:00
|
|
|
~~~~~~~~~
|
2016-12-15 17:28:24 -08:00
|
|
|
|
2018-12-04 12:40:56 -08:00
|
|
|
``pip3 install bandcamp-downloader``
|
|
|
|
|
|
|
|
|
|
|
|
Some linux distros may require that python3-pip is installed first.
|
2017-01-12 16:25:43 -08:00
|
|
|
|
|
|
|
From Wheel
|
2017-05-08 09:58:03 -07:00
|
|
|
~~~~~~~~~~
|
2017-01-12 16:25:43 -08:00
|
|
|
|
|
|
|
1. Download the wheel (``.whl``) from PyPI or the Releases page
|
|
|
|
2. ``cd`` to the directory containing the ``.whl`` file
|
2017-01-16 13:45:46 -08:00
|
|
|
3. ``pip install <filename>.whl``
|
2016-12-15 17:28:24 -08:00
|
|
|
|
2017-04-15 03:39:06 -07:00
|
|
|
[OSX] From Homebrew
|
2017-05-08 09:58:03 -07:00
|
|
|
~~~~~~~~~~~~~~~~~~~
|
2017-04-15 03:39:06 -07:00
|
|
|
|
|
|
|
``brew install bandcamp-dl``
|
|
|
|
|
2016-12-15 17:28:24 -08:00
|
|
|
From Source
|
2017-05-08 09:58:03 -07:00
|
|
|
~~~~~~~~~~~
|
2016-12-15 17:28:24 -08:00
|
|
|
|
2016-12-30 12:50:04 -08:00
|
|
|
1. Clone the project or `download and extract the zip <https://github.com/iheanyi/bandcamp-dl/archive/master.zip>`_
|
|
|
|
2. ``cd`` to the project directory containing the ``setup.py``
|
|
|
|
3. ``python setup.py install``
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
Description
|
2017-05-08 09:58:03 -07:00
|
|
|
-----------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
bandcamp-dl is a small command-line app to download audio from
|
2018-12-04 12:40:56 -08:00
|
|
|
BandCamp.com. It requires the Python interpreter, version 3.4 (or higher) and is
|
2016-12-15 17:28:24 -08:00
|
|
|
not platform specific. It is released to the public domain, which means
|
|
|
|
you can modify it, redistribute it or use it how ever you like.
|
|
|
|
|
|
|
|
Details
|
2017-05-08 09:58:03 -07:00
|
|
|
-------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
Usage:
|
2017-05-24 12:29:04 -07:00
|
|
|
bandcamp-dl [options] [URL]
|
|
|
|
|
|
|
|
Arguments:
|
|
|
|
URL Bandcamp album/track URL
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
Options
|
2017-05-08 09:58:03 -07:00
|
|
|
-------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
Options:
|
2017-05-24 12:29:04 -07:00
|
|
|
-h --help Show this screen.
|
|
|
|
-v --version Show version.
|
2017-05-25 08:26:14 -07:00
|
|
|
-d --debug Verbose logging.
|
2017-09-27 11:22:03 -07:00
|
|
|
--artist=<artist> The artist's slug (from the URL, --track or --album is required)
|
|
|
|
--track=<track> The track's slug (from the URL, for use with --artist)
|
|
|
|
--album=<album> The album's slug (from the URL, for use with --artist)
|
2017-05-24 12:29:04 -07:00
|
|
|
--template=<template> Output filename template.
|
|
|
|
[default: %{artist}/%{album}/%{track} - %{title}]
|
|
|
|
--base-dir=<dir> Base location of which all files are downloaded.
|
|
|
|
-f --full-album Download only if all tracks are available.
|
|
|
|
-o --overwrite Overwrite tracks that already exist. Default is False.
|
2017-05-25 08:26:14 -07:00
|
|
|
-n --no-art Skip grabbing album art.
|
2017-05-24 12:29:04 -07:00
|
|
|
-e --embed-lyrics Embed track lyrics (If available)
|
2017-05-25 08:26:14 -07:00
|
|
|
-g --group Use album/track Label as iTunes grouping.
|
2017-05-24 12:29:04 -07:00
|
|
|
-r --embed-art Embed album art (If available)
|
|
|
|
-y --no-slugify Disable slugification of track, album, and artist names.
|
2021-01-10 12:03:53 -08:00
|
|
|
-c --ok-chars=<chars> Specify allowed chars in slugify.
|
|
|
|
[default: -_~]
|
|
|
|
-s --space-char=<char> Specify the char to use in place of spaces.
|
|
|
|
[default: -]
|
|
|
|
-a --ascii-only Only allow ASCII chars (北京 (capital of china) -> bei-jing-capital-of-china)
|
|
|
|
-k --keep-spaces Retain whitespace in filenames
|
|
|
|
-u --keep-upper Retain uppercase letters in filenames
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
Filename Template
|
2017-05-08 09:58:03 -07:00
|
|
|
-----------------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
The ``--template`` option allows users to indicate a template for the
|
|
|
|
output file names and directories. Templates can be built using special
|
|
|
|
tokens with the format of ``%{artist}``. Here is a list of allowed
|
|
|
|
tokens:
|
|
|
|
|
|
|
|
- ``artist``: The artist name.
|
|
|
|
- ``album``: The album name.
|
|
|
|
- ``track``: The track number.
|
|
|
|
- ``title``: The track title.
|
2022-04-02 09:42:30 -07:00
|
|
|
- ``date``: The album date.
|
|
|
|
- ``label``: The album label.
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
The default template is: ``%{artist}/%{album}/%{track} - %{title}``.
|
|
|
|
|
|
|
|
Bugs
|
2017-05-08 09:58:03 -07:00
|
|
|
----
|
2016-12-15 17:28:24 -08:00
|
|
|
|
2017-01-12 16:25:43 -08:00
|
|
|
Bugs should be reported `here <https://github.com/iheanyi/bandcamp-dl/issues>`_.
|
2017-05-25 08:26:14 -07:00
|
|
|
Please include the URL and/or options used as well as the output when using the `--debug` option.
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
For discussions, join us in `Discord <https://discord.gg/nwdT4MP>`_.
|
|
|
|
|
|
|
|
When you submit a request, please re-read it once to avoid a couple of
|
|
|
|
mistakes (you can and should use this as a checklist):
|
|
|
|
|
|
|
|
Are you using the latest version?
|
2017-05-08 09:58:03 -07:00
|
|
|
---------------------------------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
This should report that you're up-to-date. About 20% of the reports we
|
|
|
|
receive are already fixed, but people are using outdated versions. This
|
|
|
|
goes for feature requests as well.
|
|
|
|
|
|
|
|
Is the issue already documented?
|
2017-05-08 09:58:03 -07:00
|
|
|
--------------------------------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
Make sure that someone has not already opened the issue you're trying to
|
|
|
|
open. Search at the top of the window or at
|
|
|
|
`Issues <https://github.com/iheanyi/bandcamp-dl/search?type=Issues>`_.
|
|
|
|
If there is an issue, feel free to write something along the lines of
|
|
|
|
"This affects me as well, with version 2015.01.01. Here is some more
|
|
|
|
information on the issue: ...". While some issues may be old, a new post
|
|
|
|
into them often spurs rapid activity.
|
|
|
|
|
|
|
|
Why are existing options not enough?
|
2017-05-08 09:58:03 -07:00
|
|
|
------------------------------------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
Before requesting a new feature, please have a quick peek at `the list
|
|
|
|
of supported
|
|
|
|
options <https://github.com/iheanyi/bandcamp-dl/blob/master/README.rst#synopsis>`_.
|
|
|
|
Many feature requests are for features that actually exist already!
|
|
|
|
Please, absolutely do show off your work in the issue report and detail
|
|
|
|
how the existing similar options do *not* solve your problem.
|
|
|
|
|
|
|
|
Does the issue involve one problem, and one problem only?
|
2017-05-08 09:58:03 -07:00
|
|
|
---------------------------------------------------------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
Some of our users seem to think there is a limit of issues they can or
|
|
|
|
should open. There is no limit of issues they can or should open. While
|
|
|
|
it may seem appealing to be able to dump all your issues into one
|
|
|
|
ticket, that means that someone who solves one of your issues cannot
|
|
|
|
mark the issue as closed. Typically, reporting a bunch of issues leads
|
|
|
|
to the ticket lingering since nobody wants to attack that behemoth,
|
|
|
|
until someone mercifully splits the issue into multiple ones.
|
|
|
|
|
|
|
|
Is anyone going to need the feature?
|
2017-05-08 09:58:03 -07:00
|
|
|
------------------------------------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
2017-04-15 06:30:34 -07:00
|
|
|
Only post features that you (or an incapable friend you can
|
2016-12-15 17:28:24 -08:00
|
|
|
personally talk to) require. Do not post features because they seem like
|
|
|
|
a good idea. If they are really useful, they will be requested by
|
|
|
|
someone who requires them.
|
|
|
|
|
|
|
|
Is your question about bandcamp-dl?
|
2017-05-08 09:58:03 -07:00
|
|
|
-----------------------------------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
It may sound strange, but some bug reports we receive are completely
|
|
|
|
unrelated to bandcamp-dl and relate to a different or even the
|
|
|
|
reporter's own application. Please make sure that you are actually using
|
|
|
|
bandcamp-dl. If you are using a UI for bandcamp-dl, report the bug to
|
|
|
|
the maintainer of the actual application providing the UI. On the other
|
|
|
|
hand, if your UI for bandcamp-dl fails in some way you believe is
|
|
|
|
related to bandcamp-dl, by all means, go ahead and report the bug.
|
|
|
|
|
|
|
|
Dependencies
|
2017-05-08 09:58:03 -07:00
|
|
|
------------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
2017-04-15 03:37:09 -07:00
|
|
|
- `BeautifulSoup4 <https://pypi.python.org/pypi/beautifulsoup4>`_ - HTML Parsing
|
2017-01-12 16:25:43 -08:00
|
|
|
- `Demjson <https://pypi.python.org/pypi/demjson>`_- JavaScript dict to JSON conversion
|
2016-12-15 17:28:24 -08:00
|
|
|
- `Mutagen <https://pypi.python.org/pypi/mutagen>`_ - ID3 Encoding
|
2021-01-10 12:03:53 -08:00
|
|
|
- `Requests <https://pypi.python.org/pypi/requests>`_ - for retrieving the HTML
|
2017-01-12 16:25:43 -08:00
|
|
|
- `Unicode-Slugify <https://pypi.python.org/pypi/unicode-slugify>`_ - A slug generator that turns strings into unicode slugs.
|
2021-01-10 12:03:53 -08:00
|
|
|
- `Chardet <https://pypi.python.org/pypi/chardet>`_ - Character encoding detection
|
2017-04-15 03:37:09 -07:00
|
|
|
- `Docopt <https://pypi.python.org/pypi/docopt>`_ - CLI help
|
|
|
|
- `Six <https://pypi.python.org/pypi/six>`_ - Python 2-3 compatibility
|
|
|
|
- `Unidecode <https://pypi.python.org/pypi/unidecode>`_ - ASCII representation of Unicode text
|
|
|
|
- `Mock <https://pypi.python.org/pypi/mock>`_ - Library for Python unit testing
|
|
|
|
- `PBR <https://pypi.python.org/pypi/pbr>`_ - Setuptools injection library required by Mock
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
Copyright
|
2017-05-08 09:58:03 -07:00
|
|
|
---------
|
2016-12-15 17:28:24 -08:00
|
|
|
|
|
|
|
bandcamp-dl is released into the public domain by the copyright holders
|
|
|
|
|
|
|
|
This README file was inspired by the
|
|
|
|
`youtube-dl <https://github.com/rg3/youtube-dl/blob/master/README.md>`_
|
|
|
|
docs and is likewise released into the public domain.
|