diff --git a/.github/CONTRIBUTING.rst b/.github/CONTRIBUTING.rst index ecf7054..bf9f1d8 100644 --- a/.github/CONTRIBUTING.rst +++ b/.github/CONTRIBUTING.rst @@ -4,7 +4,8 @@ How To Contribute First off, thank you for considering contributing to ``bandcamp-dl``! It's people like *you* who make it is such a great tool for everyone. -Here are a few guidelines to get you started (but don't be afraid to open half-finished PRs and ask questions if something is unclear!): +Here are a few guidelines to get you started (but don't be afraid to +open half-finished PRs and ask questions if something is unclear!): Workflow @@ -13,20 +14,26 @@ Workflow - No contribution is too small! Please submit as many fixes for typos and grammar bloopers as you can! - Try to limit each pull request to *one* change only. -- Once you've addressed review feedback, make sure to bump the pull request with a short note. +- Once you've addressed review feedback, make sure to bump the pull + request with a short note. Code ---- - Try to adhere to PEP8 as best you can. + + - allowed line code length for this project is up to 99 chars + - documentation line length is up to 72 chars + - Annotate functions - Specify return types - Add docstrings ***** -Again, this list is mainly to help you to get started by codifying tribal knowledge and expectations. -If something is unclear, feel free to ask for help! +Again, this list is mainly to help you to get started by codifying +tribal knowledge and expectations. If something is unclear, feel free +to ask for help! Thank you for considering contributing to ``bandcamp-dl``! diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 39b78d0..7ec812c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,11 +3,15 @@ Changelog: Version 0.0.5 ------------- -- [Enhancement] ID3 Data Windows Explorer Compatibility. (Courtesy of `Bendito999 `_) +- [Enhancement] ID3 Data Windows Explorer Compatibility. (Courtesy of + `Bendito999 `_) - [Enhancement] Will now use lxml if available, it is not a requirement. -- [Bugfix] ``--base-dir`` will now create the specified directory rather than fail. -- [Enhancement] If a file is incomplete it will be redownloaded on next run. -- [Bugfix] Fixed `#62 `_. +- [Bugfix] ``--base-dir`` will now create the specified directory rather + than fail. +- [Enhancement] If a file is incomplete it will be redownloaded on next + run. +- [Bugfix] Fixed + `#62 `_. - [Dependency] Wgetter is no longer required. - [Dependency] Latest versions of dependencies now used. @@ -17,23 +21,31 @@ Version 0.0.6 - [Enhancement] Individual track downloads work now. - [Bugfix] Fixed imports, now working when installed via pip. - [Note] Last version to officially support Python 2.7.x -- [Bugfix] Fixed an encoding issue with accented characters in the filepath. (Thanks `oaubert `_) +- [Bugfix] Fixed an encoding issue with accented characters in the + filepath. (Thanks `oaubert `_) Version 0.0.7 ------------- -- [Enhancement] Will now resume if it finds a valid ``not.finished`` file. -- [Enhancement] Interrupting downloads is safe, they will resume on next run. -- [Enhancement] Interrupting encoding is safe, it will finish on next run. +- [Enhancement] Will now resume if it finds a valid ``not.finished`` + file. +- [Enhancement] Interrupting downloads is safe, they will resume on next + run. +- [Enhancement] Interrupting encoding is safe, it will finish on next + run. - [Enhancement] CLI output is now much neater. -- [Bugfix] Partial albums (some previews disabled) will now download properly. +- [Bugfix] Partial albums (some previews disabled) will now download + properly. - [Dependency] Slimit is no longer required. - [Dependency] Ply is no longer required. - [Dependency] demjson is now required. - [Bugfix] Downloading singles is now fixed. -- [Bugfix] Monkey-patched Requests to fix compatability with Python versions before 3.6. +- [Bugfix] Monkey-patched Requests to fix compatability with Python + versions before 3.6. - [Enhancement] Added a --group option to insert a group tag (iTunes) Version 0.0.8 ------------- -- [Enhancement] --embed-art option to forcibly embed album art (if available) -- [Enhancement] --track option for downloading individual tracks and singles. +- [Enhancement] --embed-art option to forcibly embed album art (if + available) +- [Enhancement] --track option for downloading individual tracks and + singles. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index c20bd11..9ed8470 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -3,11 +3,12 @@ ## Our Pledge In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. +contributors and maintainers pledge to making participation in our +project and our community a harassment-free experience for everyone, +regardless of age, body size, disability, ethnicity, sex +characteristics, gender identity and expression, level of experience, +education, socio-economic status, nationality, personal appearance, +race, religion, or sexual identity and orientation. ## Our Standards @@ -22,53 +23,57 @@ include: Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks +* The use of sexualized language or imagery and unwelcome sexual + attention or advances +* Trolling, insulting/derogatory comments, and personal or political + attacks * Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission +* Publishing others' private information, such as a physical or + electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a - professional setting + professional setting ## Our Responsibilities -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. +Project maintainers are responsible for clarifying the standards of +acceptable behavior and are expected to take appropriate and fair +corrective action in response to any instances of unacceptable behavior. -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. +Project maintainers have the right and responsibility to remove, edit, +or reject comments, commits, code, wiki edits, issues, and other +contributions that are not aligned to this Code of Conduct, or to ban +temporarily or permanently any contributor for other behaviors that they +deem inappropriate, threatening, offensive, or harmful. ## Scope -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. +This Code of Conduct applies both within project spaces and in public +spaces when an individual is representing the project or its community. +Examples of representing a project or community include using an +official project e-mail address, posting via an official social media +account, or acting as an appointed representative at an online or +offline event. Representation of a project may be further defined and +clarified by project maintainers. ## Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at iekechukwu@gmail.com. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. +Instances of abusive, harassing, or otherwise unacceptable behavior may +be reported by contacting the project team at iekechukwu@gmail.com. All +complaints will be reviewed and investigated and will result in a +response that is deemed necessary and appropriate to the circumstances. +The project team is obligated to maintain confidentiality with regard to +the reporter of an incident. Further details of specific enforcement +policies may be posted separately. -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. +Project maintainers who do not follow or enforce the Code of Conduct in +good faith may face temporary or permanent repercussions as determined +by other members of the project's leadership. ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html +This Code of Conduct is adapted from the +[Contributor Covenant][homepage], version 1.4, available at +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html [homepage]: https://www.contributor-covenant.org diff --git a/README.rst b/README.rst index b8ad942..d026af9 100644 --- a/README.rst +++ b/README.rst @@ -16,7 +16,6 @@ From PyPI ``pip3 install bandcamp-downloader`` - Some linux distros may require that python3-pip is installed first. From Wheel @@ -39,7 +38,7 @@ From Wheel From Source ~~~~~~~~~~~ -1. Clone the project or `download and extract the zip `_ +1. Clone the project or `download and extract the zip`_ 2. ``cd`` to the project directory containing the ``setup.py`` 3. ``python setup.py install`` @@ -47,9 +46,10 @@ Description ----------- bandcamp-dl is a small command-line app to download audio from -BandCamp.com. It requires the Python interpreter, version 3.4 (or higher) and is -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. +BandCamp.com. It requires the Python interpreter, version 3.4 (or +higher) and is 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 ------- @@ -113,10 +113,10 @@ The default template is: ``%{artist}/%{album}/%{track} - %{title}``. Bugs ---- -Bugs should be reported `here `_. -Please include the URL and/or options used as well as the output when using the `--debug` option. +Bugs should be reported `here`_. Please include the URL and/or options +used as well as the output when using the `--debug` option. -For discussions, join us in `Discord `_. +For discussions, join us in `Discord`_. 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): @@ -132,22 +132,20 @@ Is the issue already documented? -------------------------------- 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 `_. -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. +open. Search at the top of the window or at `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? ------------------------------------ -Before requesting a new feature, please have a quick peek at `the list -of supported -options `_. -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. +Before requesting a new feature, please have a quick peek at +`the list of supported options`_. 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? --------------------------------------------------------- @@ -182,21 +180,32 @@ related to bandcamp-dl, by all means, go ahead and report the bug. Dependencies ------------ -- `BeautifulSoup4 `_ - HTML Parsing -- `Demjson `_- JavaScript dict to JSON conversion -- `Mutagen `_ - ID3 Encoding -- `Requests `_ - for retrieving the HTML -- `Unicode-Slugify `_ - A slug generator that turns strings into unicode slugs. -- `Chardet `_ - Character encoding detection -- `Docopt `_ - CLI help -- `Six `_ - Python 2-3 compatibility -- `Unidecode `_ - ASCII representation of Unicode text +- `BeautifulSoup4`_ - HTML Parsing +- `Demjson`_- JavaScript dict to JSON conversion +- `Mutagen`_ - ID3 Encoding +- `Requests`_ - for retrieving the HTML +- `Unicode-Slugify`_ - A slug generator that turns strings into unicode + slugs. +- `Docopt`_ - CLI help Copyright --------- bandcamp-dl is released into the public domain by the copyright holders -This README file was inspired by the -`youtube-dl `_ -docs and is likewise released into the public domain. +This README file was inspired by the `youtube-dl`_ docs and is likewise +released into the public domain. + + +.. _download and extract the zip: https://github.com/iheanyi/bandcamp-dl/archive/master.zip +.. _here: https://github.com/iheanyi/bandcamp-dl/issues +.. _Discord: https://discord.gg/nwdT4MP +.. _Issues: https://github.com/iheanyi/bandcamp-dl/search?type=Issues +.. _the list of supported options: https://github.com/iheanyi/bandcamp-dl/blob/master/README.rst#synopsis +.. _BeautifulSoup4: https://pypi.python.org/pypi/beautifulsoup4 +.. _Demjson: https://pypi.python.org/pypi/demjson +.. _Mutagen: https://pypi.python.org/pypi/mutagen +.. _Requests: https://pypi.python.org/pypi/requests +.. _Unicode-Slugify: https://pypi.python.org/pypi/unicode-slugify +.. _Docopt: https://pypi.python.org/pypi/docopt +.. _youtube-dl: https://github.com/rg3/youtube-dl/blob/master/README.md