Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.rst
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.1, available `here
<https://www.contributor-covenant.org/version/2/1/code_of_conduct.html>`_.
<https://www.contributor-covenant.org/version/2/1/code_of_conduct/>`_.

Community Impact Guidelines were inspired by Mozilla's code of conduct
enforcement ladder.
Expand Down
35 changes: 17 additions & 18 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,10 @@ Code Contribution Ideas
<https://github.com/beetbox/beets/labels/good%20first%20issue>`__. These are
issues that would serve as a good introduction to the codebase. Claim one and
start exploring!
- Like testing? Our `test coverage <https://codecov.io/github/beetbox/beets>`__
is somewhat low. You can help out by finding low-coverage modules or checking
out other `testing-related issues
<https://github.com/beetbox/beets/labels/testing>`__.
- Like testing? Our `test coverage
<https://app.codecov.io/github/beetbox/beets>`__ is somewhat low. You can help
out by finding low-coverage modules or checking out other `testing-related
issues <https://github.com/beetbox/beets/labels/testing>`__.
- There are several ways to improve the tests in general (see :ref:`testing` and
some places to think about performance optimization (see `Optimization
<https://github.com/beetbox/beets/wiki/Optimization>`__).
Expand All @@ -169,8 +169,8 @@ Code Contribution Ideas
<https://beets.readthedocs.io/en/stable/dev/library.html>`__ are currently
quite sparse. You can help by adding to the docstrings in the code and to the
documentation pages themselves. beets follows `PEP-257
<https://www.python.org/dev/peps/pep-0257/>`__ for docstrings and in some
places, we also sometimes use `ReST autodoc syntax for Sphinx
<https://peps.python.org/pep-0257/>`__ for docstrings and in some places, we
also sometimes use `ReST autodoc syntax for Sphinx
<https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html>`__ to,
for example, refer to a class name.

Expand All @@ -179,7 +179,7 @@ Your First Contribution

If this is your first time contributing to an open source project, welcome! If
you are confused at all about how to contribute or what to contribute, take a
look at `this great tutorial <http://makeapullrequest.com/>`__, or stop by our
look at `this great tutorial <https://makeapullrequest.com/>`__, or stop by our
`discussion board`_ if you have any questions.

We maintain a list of issues we reserved for those new to open source labeled
Expand Down Expand Up @@ -263,13 +263,13 @@ There are a few coding conventions we use in beets:
- f-strings should be used instead of the ``%`` operator and ``str.format()``
calls.
- Never ``print`` informational messages; use the `logging
<http://docs.python.org/library/logging.html>`__ module instead. In
<https://docs.python.org/3/library/logging.html>`__ module instead. In
particular, we have our own logging shim, so you’ll see ``from beets import
logging`` in most files.

- The loggers use `str.format
<http://docs.python.org/library/stdtypes.html#str.format>`__-style logging
instead of ``%``-style, so you can type ``log.debug("{}", obj)`` to do your
<https://docs.python.org/3/library/stdtypes.html>`__-style logging instead
of ``%``-style, so you can type ``log.debug("{}", obj)`` to do your
formatting.

- Exception handlers must use ``except A as B:`` instead of ``except A, B:``.
Expand Down Expand Up @@ -357,10 +357,9 @@ Writing Tests
~~~~~~~~~~~~~

Writing tests is done by adding or modifying files in folder test_. Take a look
at `https://github.com/beetbox/beets/blob/master/test/test_template.py#L224`_ to
get a basic view on how tests are written. Since we are currently migrating the
tests from unittest_ to pytest_, new tests should be written using pytest_.
Contributions migrating existing tests are welcome!
at test-query_ to get a basic view on how tests are written. Since we are
currently migrating the tests from unittest_ to pytest_, new tests should be
written using pytest_. Contributions migrating existing tests are welcome!

External API requests under test should be mocked with requests-mock_, However,
we still want to know whether external APIs are up and that they return expected
Expand All @@ -375,14 +374,12 @@ In order to add such a test, mark your test with the ``integration_test`` marker

This way, the test will be run only in the integration test suite.

.. _codecov: https://codecov.io/github/beetbox/beets
.. _codecov: https://app.codecov.io/github/beetbox/beets

.. _discussion board: https://github.com/beetbox/beets/discussions

.. _documentation: https://beets.readthedocs.io/en/stable/

.. _https://github.com/beetbox/beets/blob/master/test/test_template.py#l224: https://github.com/beetbox/beets/blob/master/test/test_template.py#L224

.. _integration test: https://github.com/beetbox/beets/actions?query=workflow%3A%22integration+tests%22

.. _pipx: https://pipx.pypa.io/stable
Expand All @@ -391,7 +388,7 @@ This way, the test will be run only in the integration test suite.

.. _poetry: https://python-poetry.org/docs/

.. _pyproject.toml: https://github.com/beetbox/beets/tree/master/pyproject.toml
.. _pyproject.toml: https://github.com/beetbox/beets/blob/master/pyproject.toml

.. _pytest: https://docs.pytest.org/en/stable/

Expand All @@ -401,6 +398,8 @@ This way, the test will be run only in the integration test suite.

.. _test: https://github.com/beetbox/beets/tree/master/test

.. _test-query: https://github.com/beetbox/beets/blob/master/test/test_query.py

.. _unittest: https://docs.python.org/3/library/unittest.html

.. _vim: https://www.vim.org/
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
:target: https://pypi.python.org/pypi/beets

.. image:: https://img.shields.io/codecov/c/github/beetbox/beets.svg
:target: https://codecov.io/github/beetbox/beets
:target: https://app.codecov.io/github/beetbox/beets

.. image:: https://img.shields.io/github/actions/workflow/status/beetbox/beets/ci.yaml
:target: https://github.com/beetbox/beets/actions
Expand Down
2 changes: 1 addition & 1 deletion README_kr.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
:target: https://pypi.python.org/pypi/beets

.. image:: https://img.shields.io/codecov/c/github/beetbox/beets.svg
:target: https://codecov.io/github/beetbox/beets
:target: https://app.codecov.io/github/beetbox/beets

.. image:: https://travis-ci.org/beetbox/beets.svg?branch=master
:target: https://travis-ci.org/beetbox/beets
Expand Down
44 changes: 23 additions & 21 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ Other changes
- :doc:`plugins/lyrics`: To cut down noise from the ``lrclib`` lyrics source,
synced lyrics are now checked to ensure the final verse falls within the
track's duration.
- Updated URLs in the documentation to use HTTPS where possible and updated
outdated links.

2.6.2 (February 22, 2026)
-------------------------
Expand Down Expand Up @@ -1587,13 +1589,13 @@ For packagers

.. _confuse: https://github.com/beetbox/confuse

.. _deezer: https://www.deezer.com
.. _deezer: https://www.deezer.com/en/

.. _fish shell: https://fishshell.com/

.. _keyfinder-cli: https://github.com/EvanPurkhiser/keyfinder-cli

.. _last.fm: https://last.fm
.. _last.fm: https://www.last.fm/

.. _mediafile: https://github.com/beetbox/mediafile

Expand Down Expand Up @@ -2543,7 +2545,7 @@ The ``echonest`` plugin has been removed in this version because the API it used
is `shutting down`_. You might want to try the :doc:`/plugins/acousticbrainz`
instead.

.. _shutting down: https://developer.spotify.com/news-stories/2016/03/29/api-improvements-update/
.. _shutting down: https://web.archive.org/web/20260000000000*/developer.spotify.com/news-stories/2016/03/29/api-improvements-update

Some of the larger new features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -2667,7 +2669,7 @@ There are even more new features

.. _acousticbrainz: https://acousticbrainz.org/

.. _google code-in: https://codein.withgoogle.com/
.. _google code-in: https://codein.withgoogle.com/archive/

Fixes
~~~~~
Expand Down Expand Up @@ -2973,7 +2975,7 @@ Fixes
- :doc:`/plugins/convert`: Fix a problem with filename encoding on Windows under
Python 3. :bug:`2515` :bug:`2516`

.. _ipfs: https://ipfs.io
.. _ipfs: https://about.ipfs.io/

.. _python bug: https://bugs.python.org/issue16512

Expand Down Expand Up @@ -3048,7 +3050,7 @@ Little fixes and improvements
``date`` and ``original_date`` (which are not built-in beets fields).
:bug:`1404`

.. _jellyfish: https://github.com/sunlightlabs/jellyfish
.. _jellyfish: https://github.com/jamesturk/jellyfish

1.3.11 (April 5, 2015)
----------------------
Expand Down Expand Up @@ -3244,7 +3246,7 @@ For developers
immediately after they are initialized. It's also possible to replace the
originally created tasks by returning new ones using this event.

.. _bs1770gain: http://bs1770gain.sourceforge.net
.. _bs1770gain: https://sourceforge.net/projects/bs1770gain/

1.3.10 (January 5, 2015)
------------------------
Expand Down Expand Up @@ -3330,7 +3332,7 @@ As usual, there are loads of little fixes and improvements

.. _musixmatch: https://www.musixmatch.com/

.. _plex: https://plex.tv/
.. _plex: https://watch.plex.tv/

1.3.9 (November 17, 2014)
-------------------------
Expand Down Expand Up @@ -3554,7 +3556,7 @@ The big new features are

.. _mutagen: https://github.com/quodlibet/mutagen

.. _spotify: https://www.spotify.com/
.. _spotify: https://open.spotify.com/

And the multitude of little improvements and fixes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -3730,7 +3732,7 @@ There are also many bug fixes and little enhancements

.. _enum: https://docs.python.org/3.4/library/enum.html

.. _enum34: https://pypi.python.org/pypi/enum34
.. _enum34: https://pypi.org/project/enum34/

1.3.4 (April 5, 2014)
---------------------
Expand Down Expand Up @@ -3810,7 +3812,7 @@ Fixes
- :doc:`/plugins/convert`: Display a useful error message when the FFmpeg
executable can't be found.

.. _requests: https://requests.readthedocs.io/en/master/
.. _requests: https://requests.readthedocs.io/en/latest/

1.3.3 (February 26, 2014)
-------------------------
Expand Down Expand Up @@ -4513,7 +4515,7 @@ Other new stuff
(YAML doesn't like tabs.)
- Fix the ``-l`` (log path) command-line option for the ``import`` command.

.. _itunes sound check: https://support.apple.com/kb/HT2425
.. _itunes sound check: https://support.apple.com/itunes

1.1b1 (January 29, 2013)
------------------------
Expand Down Expand Up @@ -4681,9 +4683,9 @@ today on features for version 1.1.
- Changed plugin loading so that modules can be imported without unintentionally
loading the plugins they contain.

.. _aacgain: https://aacgain.altosdesign.com
.. _aacgain: https://github.com/dgilman/aacgain

.. _mp3gain: http://mp3gain.sourceforge.net/download.php
.. _mp3gain: https://sourceforge.net/projects/mp3gain/

.. _the echo nest: https://web.archive.org/web/20180329103558/http://the.echonest.com/

Expand Down Expand Up @@ -4953,7 +4955,7 @@ to come in the next couple of releases.
data.
- Fix the ``list`` command in BPD (thanks to Simon Chopin).

.. _colorama: https://pypi.python.org/pypi/colorama
.. _colorama: https://pypi.org/project/colorama/

1.0b12 (January 16, 2012)
-------------------------
Expand Down Expand Up @@ -5066,11 +5068,11 @@ release: one for assigning genres and another for ReplayGain analysis.

.. _acoustid: https://acoustid.org/

.. _albumart.org: https://www.albumart.org/
.. _albumart.org: https://web.archive.org/web/20191217041318/http://www.albumart.org/

.. _kraymer: https://github.com/KraYmer

.. _next generation schema: https://musicbrainz.org/doc/XML_Web_Service/Version_2
.. _next generation schema: https://musicbrainz.org/doc/MusicBrainz_API

.. _peter brunner: https://github.com/Lugoues

Expand Down Expand Up @@ -5201,9 +5203,9 @@ below, for a plethora of new features.
- Suppress errors due to timeouts and bad responses from MusicBrainz.
- Fix a crash on album queries with item-only field names.

.. _unidecode: https://pypi.python.org/pypi/Unidecode/0.04.1
.. _unidecode: https://pypi.org/project/Unidecode/0.04.1/

.. _xargs: https://en.wikipedia.org/wiki/xargs
.. _xargs: https://en.wikipedia.org/wiki/Xargs

1.0b8 (April 28, 2011)
----------------------
Expand Down Expand Up @@ -5404,7 +5406,7 @@ are also rolled into this release.
- Fixed normalization of relative paths.
- Fixed escaping of ``/`` characters in paths on Windows.

.. _!!!: https://musicbrainz.org/artist/f26c72d3-e52c-467b-b651-679c73d8e1a7.html
.. _!!!: https://musicbrainz.org/artist/f26c72d3-e52c-467b-b651-679c73d8e1a7

1.0b4 (August 9, 2010)
----------------------
Expand Down Expand Up @@ -5574,7 +5576,7 @@ Vorbis) and an option to log untaggable albums during import.
removed dependency on the aging ``cmdln`` module in favor of `a hand-rolled
solution`_.

.. _a hand-rolled solution: https://gist.github.com/462717
.. _a hand-rolled solution: https://gist.github.com/sampsyo/462717

1.0b1 (June 17, 2010)
---------------------
Expand Down
5 changes: 5 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,11 @@
r"https?://127\.0\.0\.1",
r"https://www.musixmatch.com/", # blocks requests
r"https://genius.com/", # blocks requests
r"https://sourceforge\.net/", # blocks requests
r"https://[^/]*fanart\.tv/", # blocks requests
r"https://[^/]*fandom\.com/", # blocks requests
r"https://imgur\.com/", # not accessible from the UK
r"https://www.discogs.com/settings/developers", # requires login
]

# Options for HTML output
Expand Down
4 changes: 2 additions & 2 deletions docs/dev/plugins/commands.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ but it defaults to an empty parser (you can extend it later). ``help`` is a
description of your command, and ``aliases`` is a list of shorthand versions of
your command name.

.. _optionparser instance: https://docs.python.org/library/optparse.html
.. _optionparser instance: https://docs.python.org/3/library/optparse.html

You'll need to add a function to your command by saying ``mycommand.func =
myfunction``. This function should take the following parameters: ``lib`` (a
beets ``Library`` object) and ``opts`` and ``args`` (command-line options and
arguments as returned by OptionParser.parse_args_).

.. _optionparser.parse_args: https://docs.python.org/library/optparse.html#parsing-arguments
.. _optionparser.parse_args: https://docs.python.org/3/library/optparse.html#parsing-arguments

The function should use any of the utility functions defined in ``beets.ui``.
Try running ``pydoc beets.ui`` to see what's available.
Expand Down
2 changes: 1 addition & 1 deletion docs/dev/plugins/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ and you're good to go!

.. _this article: https://realpython.com/python-namespace-package/#setting-up-some-namespace-packages

.. _this stack overflow question: https://stackoverflow.com/a/27586272/9582674
.. _this stack overflow question: https://stackoverflow.com/questions/1675734/how-do-i-create-a-namespace-package-in-python/27586272#27586272

More information
----------------
Expand Down
2 changes: 1 addition & 1 deletion docs/dev/plugins/other/logging.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ str.format-style string formatting. So you can write logging calls like this:

self._log.debug("Processing {0.title} by {0.artist}", item)

.. _pep 3101: https://www.python.org/dev/peps/pep-3101/
.. _pep 3101: https://peps.python.org/pep-3101/

.. _standard python logging module: https://docs.python.org/3/library/logging.html

Expand Down
13 changes: 7 additions & 6 deletions docs/faq.rst
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,8 @@ follow these guidelines when reporting an issue:
- Most importantly: if beets is crashing, please `include the traceback
<https://imgur.com/jacoj>`__. Tracebacks can be more readable if you put them
in a pastebin (e.g., `Gist <https://gist.github.com/>`__ or `Hastebin
<https://hastebin.com/>`__), especially when communicating over IRC.
<https://www.toptal.com/developers/hastebin>`__), especially when
communicating over IRC.
- Turn on beets' debug output (using the -v option: for example, ``beet -v
import ...``) and include that with your bug report. Look through this verbose
output for any red flags that might point to the problem.
Expand All @@ -191,7 +192,7 @@ guidelines for good bug reports`_.

.. _find-config:

.. _general guidelines for good bug reports: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines
.. _general guidelines for good bug reports: https://bugzilla.mozilla.org/page.cgi?id=bug-writing.html

.. _issue tracker: https://github.com/beetbox/beets/issues

Expand Down Expand Up @@ -298,9 +299,9 @@ remedy this.)

Beets writes ID3v2.4_ tags by default. Some software, including Windows (i.e.,
Windows Explorer and Windows Media Player) and `id3lib/id3v2
<http://id3v2.sourceforge.net/>`__, don't support v2.4 tags. When using
2.4-unaware software, it might look like the tags are unmodified or missing
completely.
<https://sourceforge.net/projects/id3v2/>`__, don't support v2.4 tags. When
using 2.4-unaware software, it might look like the tags are unmodified or
missing completely.

To enable ID3v2.3 tags, enable the :ref:`id3v23` config option.

Expand Down Expand Up @@ -369,4 +370,4 @@ try `this Super User answer`_.

.. _pip: https://pip.pypa.io/en/stable/

.. _this super user answer: https://superuser.com/a/284361/4569
.. _this super user answer: https://superuser.com/questions/284342/what-are-path-and-other-environment-variables-and-how-can-i-set-or-use-them/284361#284361
Loading
Loading