From 3d0d032987c4c2e9550529fd25e79581b06ade73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0ar=C5=ABnas=20Nejus?= Date: Fri, 6 Mar 2026 07:17:22 +0000 Subject: [PATCH 1/5] Replace http URLs with https --- CONTRIBUTING.rst | 6 +++--- docs/changelog.rst | 4 ++-- docs/faq.rst | 2 +- docs/guides/installation.rst | 4 ++-- docs/plugins/badfiles.rst | 2 +- docs/plugins/bpd.rst | 4 ++-- docs/plugins/embedart.rst | 2 +- docs/plugins/index.rst | 8 ++++---- docs/plugins/info.rst | 2 +- docs/plugins/keyfinder.rst | 2 +- docs/plugins/lyrics.rst | 2 +- docs/plugins/replaygain.rst | 4 ++-- docs/plugins/subsonicupdate.rst | 4 ++-- 13 files changed, 23 insertions(+), 23 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index c2cde4ed4d..9fad9f90fe 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -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 `__, or stop by our +look at `this great tutorial `__, 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 @@ -263,12 +263,12 @@ 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 - `__ module instead. In + `__ 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 - `__-style logging + `__-style logging instead of ``%``-style, so you can type ``log.debug("{}", obj)`` to do your formatting. diff --git a/docs/changelog.rst b/docs/changelog.rst index 35bc1ab0cc..f37e8d1e30 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -3244,7 +3244,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://bs1770gain.sourceforge.net 1.3.10 (January 5, 2015) ------------------------ @@ -4683,7 +4683,7 @@ today on features for version 1.1. .. _aacgain: https://aacgain.altosdesign.com -.. _mp3gain: http://mp3gain.sourceforge.net/download.php +.. _mp3gain: https://mp3gain.sourceforge.net/download.php .. _the echo nest: https://web.archive.org/web/20180329103558/http://the.echonest.com/ diff --git a/docs/faq.rst b/docs/faq.rst index 287dc88afe..87e8c068dd 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -298,7 +298,7 @@ remedy this.) Beets writes ID3v2.4_ tags by default. Some software, including Windows (i.e., Windows Explorer and Windows Media Player) and `id3lib/id3v2 -`__, don't support v2.4 tags. When using +`__, don't support v2.4 tags. When using 2.4-unaware software, it might look like the tags are unmodified or missing completely. diff --git a/docs/guides/installation.rst b/docs/guides/installation.rst index bd634c4c53..0cd8fc5e47 100644 --- a/docs/guides/installation.rst +++ b/docs/guides/installation.rst @@ -100,11 +100,11 @@ package manager. Here are some common options: .. _dnf package: https://packages.fedoraproject.org/pkgs/beets/ -.. _freebsd: http://portsmon.freebsd.org/portoverview.py?category=audio&portname=beets +.. _freebsd: https://portsmon.freebsd.org/portoverview.py?category=audio&portname=beets .. _nixos: https://github.com/NixOS/nixpkgs/tree/master/pkgs/tools/audio/beets -.. _openbsd: http://openports.se/audio/beets +.. _openbsd: https://openports.se/audio/beets .. _ubuntu details: https://launchpad.net/ubuntu/+source/beets diff --git a/docs/plugins/badfiles.rst b/docs/plugins/badfiles.rst index 8f496cfce7..d5265cbac6 100644 --- a/docs/plugins/badfiles.rst +++ b/docs/plugins/badfiles.rst @@ -34,7 +34,7 @@ and errors will be presented when selecting a tagging option. .. _flac: https://xiph.org/flac/ -.. _mp3val: http://mp3val.sourceforge.net/ +.. _mp3val: https://mp3val.sourceforge.net/ Using ----- diff --git a/docs/plugins/bpd.rst b/docs/plugins/bpd.rst index dc0bd92b27..2d059c05c3 100644 --- a/docs/plugins/bpd.rst +++ b/docs/plugins/bpd.rst @@ -5,11 +5,11 @@ BPD is a music player using music from a beets library. It runs as a daemon and implements the MPD protocol, so it's compatible with all the great MPD clients out there. I'm using Theremin_, gmpc_, Sonata_, and Ario_ successfully. -.. _ario: http://ario-player.sourceforge.net/ +.. _ario: https://ario-player.sourceforge.net/ .. _gmpc: https://gmpc.wikia.com/wiki/Gnome_Music_Player_Client -.. _sonata: http://sonata.berlios.de/ +.. _sonata: https://sonata.berlios.de/ .. _theremin: https://github.com/TheStalwart/Theremin diff --git a/docs/plugins/embedart.rst b/docs/plugins/embedart.rst index 0140ceff87..40df958688 100644 --- a/docs/plugins/embedart.rst +++ b/docs/plugins/embedart.rst @@ -78,7 +78,7 @@ requires either ImageMagick_ or Pillow_. .. _imagemagick: https://www.imagemagick.org/ -.. _phash: http://www.fmwconcepts.com/misc_tests/perceptual_hash_test_results_510/ +.. _phash: https://www.fmwconcepts.com/misc_tests/perceptual_hash_test_results_510/ .. _pillow: https://github.com/python-pillow/Pillow diff --git a/docs/plugins/index.rst b/docs/plugins/index.rst index bb89dde3f4..8dda131882 100644 --- a/docs/plugins/index.rst +++ b/docs/plugins/index.rst @@ -237,7 +237,7 @@ Metadata :doc:`zero ` Nullify fields by pattern or unconditionally. -.. _keyfinder: http://www.ibrahimshaath.co.uk/keyfinder/ +.. _keyfinder: https://www.ibrahimshaath.co.uk/keyfinder/ .. _librosa: https://github.com/librosa/librosa/ @@ -330,7 +330,7 @@ Interoperability .. _sonos: https://sonos.com -.. _subsonic: http://www.subsonic.org/ +.. _subsonic: https://www.subsonic.org/ Miscellaneous ------------- @@ -646,7 +646,7 @@ beets-youtube_ .. _beetstream: https://github.com/BinaryBrain/Beetstream -.. _cmus: http://cmus.sourceforge.net/ +.. _cmus: https://cmus.sourceforge.net/ .. _drop2beets: https://github.com/martinkirch/drop2beets @@ -654,6 +654,6 @@ beets-youtube_ .. _ibroadcast: https://ibroadcast.com/ -.. _subsonic api: http://www.subsonic.org/pages/api.jsp +.. _subsonic api: https://www.subsonic.org/pages/api.jsp .. _whatlastgenre: https://github.com/YetAnotherNerd/whatlastgenre/tree/master/plugin/beets diff --git a/docs/plugins/info.rst b/docs/plugins/info.rst index 051b081efc..4b6def0c49 100644 --- a/docs/plugins/info.rst +++ b/docs/plugins/info.rst @@ -47,6 +47,6 @@ Additional command-line options include: `. - ``--keys-only`` or ``-k``: Show the name of the tags without the values. -.. _id3v2: http://id3v2.sourceforge.net +.. _id3v2: https://id3v2.sourceforge.net .. _mp3info: https://www.ibiblio.org/mp3info/ diff --git a/docs/plugins/keyfinder.rst b/docs/plugins/keyfinder.rst index c692c54073..c89a7094c5 100644 --- a/docs/plugins/keyfinder.rst +++ b/docs/plugins/keyfinder.rst @@ -26,6 +26,6 @@ file. The available options are: - **overwrite**: Calculate a key even for files that already have an ``initial_key`` value. Default: ``no``. -.. _keyfinder: http://www.ibrahimshaath.co.uk/keyfinder/ +.. _keyfinder: https://www.ibrahimshaath.co.uk/keyfinder/ .. _keyfinder-cli: https://github.com/EvanPurkhiser/keyfinder-cli/ diff --git a/docs/plugins/lyrics.rst b/docs/plugins/lyrics.rst index 83e24a645c..17b3b2054d 100644 --- a/docs/plugins/lyrics.rst +++ b/docs/plugins/lyrics.rst @@ -150,7 +150,7 @@ Sphinx supports various builders_, see a few suggestions: .. _builders: https://www.sphinx-doc.org/en/stable/builders.html -.. _restructuredtext: http://docutils.sourceforge.net/rst.html +.. _restructuredtext: https://docutils.sourceforge.net/rst.html .. _sphinx: https://www.sphinx-doc.org/ diff --git a/docs/plugins/replaygain.rst b/docs/plugins/replaygain.rst index 2973dd959c..dc5de1dbf2 100644 --- a/docs/plugins/replaygain.rst +++ b/docs/plugins/replaygain.rst @@ -109,7 +109,7 @@ the path explicitly like so: .. _homebrew: https://brew.sh -.. _mp3gain: http://mp3gain.sourceforge.net/download.php +.. _mp3gain: https://mp3gain.sourceforge.net/download.php .. _mp3rgain: https://github.com/M-Igashi/mp3rgain @@ -128,7 +128,7 @@ On OS X, most of the dependencies can be installed with Homebrew_: The Python Audio Tools backend does not support parallel analysis. -.. _python audio tools: http://audiotools.sourceforge.net +.. _python audio tools: https://audiotools.sourceforge.net ffmpeg ~~~~~~ diff --git a/docs/plugins/subsonicupdate.rst b/docs/plugins/subsonicupdate.rst index 27ee925dce..a7a5b03a6c 100644 --- a/docs/plugins/subsonicupdate.rst +++ b/docs/plugins/subsonicupdate.rst @@ -4,7 +4,7 @@ SubsonicUpdate Plugin ``subsonicupdate`` is a very simple plugin for beets that lets you automatically update Subsonic_'s index whenever you change your beets library. -.. _subsonic: http://www.subsonic.org/pages/index.jsp +.. _subsonic: https://www.subsonic.org/pages/index.jsp To use ``subsonicupdate`` plugin, enable it in your configuration (see :ref:`using-plugins`). Then, you'll probably want to configure the specifics of @@ -30,7 +30,7 @@ This plugin requires Subsonic with an active Premium license (or active trial) or any other `Subsonic API compatible`_ server implementing the ``startScan`` endpoint. -.. _subsonic api compatible: http://www.subsonic.org/pages/api.jsp +.. _subsonic api compatible: https://www.subsonic.org/pages/api.jsp Configuration ------------- From 441c8383873d72d4bb0387cdf1863c0fe9e11098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0ar=C5=ABnas=20Nejus?= Date: Fri, 6 Mar 2026 08:36:56 +0000 Subject: [PATCH 2/5] Fix broken URLs --- CONTRIBUTING.rst | 4 ++-- docs/changelog.rst | 10 +++++----- docs/conf.py | 5 +++++ docs/faq.rst | 2 +- docs/guides/installation.rst | 6 +++--- docs/plugins/aura.rst | 2 +- docs/plugins/badfiles.rst | 2 +- docs/plugins/bpd.rst | 10 +++++----- docs/plugins/convert.rst | 4 ++-- docs/plugins/embedart.rst | 2 +- docs/plugins/index.rst | 4 ++-- docs/plugins/info.rst | 2 +- docs/plugins/lyrics.rst | 2 +- docs/plugins/replaygain.rst | 6 +++--- docs/plugins/spotify.rst | 10 +++++----- docs/reference/pathformat.rst | 2 +- 16 files changed, 39 insertions(+), 34 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 9fad9f90fe..23674ddac5 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -357,7 +357,7 @@ 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 +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! @@ -381,7 +381,7 @@ This way, the test will be run only in the integration test suite. .. _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 +.. _test-query: https://github.com/beetbox/beets/blob/master/test/test_query.py .. _integration test: https://github.com/beetbox/beets/actions?query=workflow%3A%22integration+tests%22 diff --git a/docs/changelog.rst b/docs/changelog.rst index f37e8d1e30..8b5f3258a9 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -2543,7 +2543,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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -3244,7 +3244,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: https://bs1770gain.sourceforge.net +.. _bs1770gain: https://sourceforge.net/projects/bs1770gain/ 1.3.10 (January 5, 2015) ------------------------ @@ -4681,9 +4681,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: https://mp3gain.sourceforge.net/download.php +.. _mp3gain: https://sourceforge.net/projects/mp3gain/ .. _the echo nest: https://web.archive.org/web/20180329103558/http://the.echonest.com/ @@ -5066,7 +5066,7 @@ 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 diff --git a/docs/conf.py b/docs/conf.py index 8a812d1591..84fa9bbca3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -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 diff --git a/docs/faq.rst b/docs/faq.rst index 87e8c068dd..556af67d27 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -298,7 +298,7 @@ remedy this.) Beets writes ID3v2.4_ tags by default. Some software, including Windows (i.e., Windows Explorer and Windows Media Player) and `id3lib/id3v2 -`__, don't support v2.4 tags. When using +`__, don't support v2.4 tags. When using 2.4-unaware software, it might look like the tags are unmodified or missing completely. diff --git a/docs/guides/installation.rst b/docs/guides/installation.rst index 0cd8fc5e47..2f07499be4 100644 --- a/docs/guides/installation.rst +++ b/docs/guides/installation.rst @@ -100,11 +100,11 @@ package manager. Here are some common options: .. _dnf package: https://packages.fedoraproject.org/pkgs/beets/ -.. _freebsd: https://portsmon.freebsd.org/portoverview.py?category=audio&portname=beets +.. _freebsd: https://www.freshports.org/audio/beets/ -.. _nixos: https://github.com/NixOS/nixpkgs/tree/master/pkgs/tools/audio/beets +.. _nixos: https://github.com/NixOS/nixpkgs/tree/master/pkgs/development/python-modules/beets -.. _openbsd: https://openports.se/audio/beets +.. _openbsd: https://openports.pl/path/audio/beets .. _ubuntu details: https://launchpad.net/ubuntu/+source/beets diff --git a/docs/plugins/aura.rst b/docs/plugins/aura.rst index a29fa19521..f26e7aa650 100644 --- a/docs/plugins/aura.rst +++ b/docs/plugins/aura.rst @@ -131,7 +131,7 @@ The plugin should work behind a reverse proxy without further configuration, however this has not been tested extensively. For details of what headers must be rewritten and a sample NGINX configuration see `Flask proxy setups`_. -.. _flask proxy setups: https://flask.palletsprojects.com/en/1.1.x/deploying/wsgi-standalone/#proxy-setups +.. _flask proxy setups: https://flask.palletsprojects.com/en/stable/deploying/proxy_fix/ It is (reportedly) possible to run the application under a URL prefix (for example so you could have ``/foo/aura/server`` rather than ``/aura/server``), diff --git a/docs/plugins/badfiles.rst b/docs/plugins/badfiles.rst index d5265cbac6..b546e7dace 100644 --- a/docs/plugins/badfiles.rst +++ b/docs/plugins/badfiles.rst @@ -34,7 +34,7 @@ and errors will be presented when selecting a tagging option. .. _flac: https://xiph.org/flac/ -.. _mp3val: https://mp3val.sourceforge.net/ +.. _mp3val: https://sourceforge.net/projects/mp3val/ Using ----- diff --git a/docs/plugins/bpd.rst b/docs/plugins/bpd.rst index 2d059c05c3..6bc1689346 100644 --- a/docs/plugins/bpd.rst +++ b/docs/plugins/bpd.rst @@ -5,11 +5,11 @@ BPD is a music player using music from a beets library. It runs as a daemon and implements the MPD protocol, so it's compatible with all the great MPD clients out there. I'm using Theremin_, gmpc_, Sonata_, and Ario_ successfully. -.. _ario: https://ario-player.sourceforge.net/ +.. _ario: https://sourceforge.net/projects/ario-player/ -.. _gmpc: https://gmpc.wikia.com/wiki/Gnome_Music_Player_Client +.. _gmpc: https://gmpc.fandom.com/wiki/Gnome_Music_Player_Client -.. _sonata: https://sonata.berlios.de/ +.. _sonata: https://www.nongnu.org/sonata/ .. _theremin: https://github.com/TheStalwart/Theremin @@ -35,7 +35,7 @@ extra which installs Python bindings for ``GStreamer``: pip install "beets[bpd]" -.. _gstreamer: https://gstreamer.freedesktop.org/download +.. _gstreamer: https://gstreamer.freedesktop.org/ .. _homebrew: https://brew.sh @@ -52,7 +52,7 @@ To use the ``bpd`` plugin, first enable it in your configuration (see Fire up your favorite MPD client to start playing music. The MPD site has `a long list of available clients`_. Here are my favorites: -.. _a long list of available clients: https://mpd.wikia.com/wiki/Clients +.. _a long list of available clients: https://mpd.fandom.com/wiki/Clients - Linux: gmpc_, Sonata_ - Mac: Theremin_ diff --git a/docs/plugins/convert.rst b/docs/plugins/convert.rst index 14b545b28d..583da357aa 100644 --- a/docs/plugins/convert.rst +++ b/docs/plugins/convert.rst @@ -230,12 +230,12 @@ use the :doc:`/plugins/replaygain` to do this analysis. See the LAME documentation_ and the `HydrogenAudio wiki`_ for other LAME configuration options and a thorough discussion of MP3 encoding. -.. _documentation: https://lame.sourceforge.io/index.php +.. _documentation: https://sourceforge.net/projects/lame/ .. _gapless: https://wiki.hydrogenaud.io/index.php?title=Gapless_playback .. _hydrogenaudio wiki: https://wiki.hydrogenaud.io/index.php?title=LAME -.. _lame: https://lame.sourceforge.io/index.php +.. _lame: https://sourceforge.net/projects/lame/ .. _m3u8 format: https://en.wikipedia.org/wiki/M3U#M3U8 diff --git a/docs/plugins/embedart.rst b/docs/plugins/embedart.rst index 40df958688..4da49f6a08 100644 --- a/docs/plugins/embedart.rst +++ b/docs/plugins/embedart.rst @@ -78,7 +78,7 @@ requires either ImageMagick_ or Pillow_. .. _imagemagick: https://www.imagemagick.org/ -.. _phash: https://www.fmwconcepts.com/misc_tests/perceptual_hash_test_results_510/ +.. _phash: https://web.archive.org/web/*/http://www.fmwconcepts.com/misc_tests/perceptual_hash_test_results_510/index.html .. _pillow: https://github.com/python-pillow/Pillow diff --git a/docs/plugins/index.rst b/docs/plugins/index.rst index 8dda131882..aadf34d25c 100644 --- a/docs/plugins/index.rst +++ b/docs/plugins/index.rst @@ -397,7 +397,7 @@ mstream_ .. _mpd: https://www.musicpd.org/ -.. _mpd clients: https://mpd.wikia.com/wiki/Clients +.. _mpd clients: https://mpd.fandom.com/wiki/Clients .. _mstream: https://github.com/IrosTheBeggar/mStream @@ -646,7 +646,7 @@ beets-youtube_ .. _beetstream: https://github.com/BinaryBrain/Beetstream -.. _cmus: https://cmus.sourceforge.net/ +.. _cmus: https://sourceforge.net/projects/cmus/ .. _drop2beets: https://github.com/martinkirch/drop2beets diff --git a/docs/plugins/info.rst b/docs/plugins/info.rst index 4b6def0c49..77dc60efd3 100644 --- a/docs/plugins/info.rst +++ b/docs/plugins/info.rst @@ -47,6 +47,6 @@ Additional command-line options include: `. - ``--keys-only`` or ``-k``: Show the name of the tags without the values. -.. _id3v2: https://id3v2.sourceforge.net +.. _id3v2: https://sourceforge.net/projects/id3v2/ .. _mp3info: https://www.ibiblio.org/mp3info/ diff --git a/docs/plugins/lyrics.rst b/docs/plugins/lyrics.rst index 17b3b2054d..02d3c0fbec 100644 --- a/docs/plugins/lyrics.rst +++ b/docs/plugins/lyrics.rst @@ -150,7 +150,7 @@ Sphinx supports various builders_, see a few suggestions: .. _builders: https://www.sphinx-doc.org/en/stable/builders.html -.. _restructuredtext: https://docutils.sourceforge.net/rst.html +.. _restructuredtext: https://sourceforge.net/projects/docutils/ .. _sphinx: https://www.sphinx-doc.org/ diff --git a/docs/plugins/replaygain.rst b/docs/plugins/replaygain.rst index dc5de1dbf2..1ba31f15ed 100644 --- a/docs/plugins/replaygain.rst +++ b/docs/plugins/replaygain.rst @@ -105,11 +105,11 @@ the path explicitly like so: replaygain: command: /Applications/MacMP3Gain.app/Contents/Resources/aacgain -.. _aacgain: https://aacgain.altosdesign.com +.. _aacgain: https://github.com/dgilman/aacgain .. _homebrew: https://brew.sh -.. _mp3gain: https://mp3gain.sourceforge.net/download.php +.. _mp3gain: https://sourceforge.net/projects/mp3gain/download.php .. _mp3rgain: https://github.com/M-Igashi/mp3rgain @@ -128,7 +128,7 @@ On OS X, most of the dependencies can be installed with Homebrew_: The Python Audio Tools backend does not support parallel analysis. -.. _python audio tools: https://audiotools.sourceforge.net +.. _python audio tools: https://sourceforge.net/projects/audiotools/ ffmpeg ~~~~~~ diff --git a/docs/plugins/spotify.rst b/docs/plugins/spotify.rst index f0d6ac2eff..20460ecf90 100644 --- a/docs/plugins/spotify.rst +++ b/docs/plugins/spotify.rst @@ -7,13 +7,13 @@ with the ``beet spotify`` command using the `Spotify Search API`_. Also, the plugin can use the Spotify Album_ and Track_ APIs to provide metadata matches for the importer. -.. _album: https://developer.spotify.com/documentation/web-api/reference/#/operations/get-an-album +.. _album: https://developer.spotify.com/documentation/web-api/reference/get-an-album .. _spotify: https://www.spotify.com/ -.. _spotify search api: https://developer.spotify.com/documentation/web-api/reference/#/operations/search +.. _spotify search api: https://developer.spotify.com/documentation/web-api/reference/search -.. _track: https://developer.spotify.com/documentation/web-api/reference/#/operations/get-track +.. _track: https://developer.spotify.com/documentation/web-api/reference/get-track Why Use This Plugin? -------------------- @@ -150,9 +150,9 @@ Obtaining Track Popularity and Audio Features from Spotify Spotify provides information on track popularity_ and audio features_ that can be used for music discovery. -.. _features: https://developer.spotify.com/documentation/web-api/reference/#/operations/get-audio-features +.. _features: https://developer.spotify.com/documentation/web-api/reference/get-audio-features -.. _popularity: https://developer.spotify.com/documentation/web-api/reference/#/operations/get-track +.. _popularity: https://developer.spotify.com/documentation/web-api/reference/get-track The ``spotify`` plugin provides an additional command ``spotifysync`` to obtain these track attributes from Spotify: diff --git a/docs/reference/pathformat.rst b/docs/reference/pathformat.rst index aff48a7c67..2469eb1c0b 100644 --- a/docs/reference/pathformat.rst +++ b/docs/reference/pathformat.rst @@ -21,7 +21,7 @@ a dollars sign. As with `Python template strings`_, ``${title}`` is equivalent to ``$title``; you can use this if you need to separate a field name from the text that follows it. -.. _python template strings: https://docs.python.org/library/string.html#template-strings +.. _python template strings: https://docs.python.org/3/library/string.html#template-strings-strings A Note About Artists -------------------- From ae3a2e5729e3c0a5acbd8967ba2f11f4c53acd09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0ar=C5=ABnas=20Nejus?= Date: Fri, 6 Mar 2026 10:17:15 +0000 Subject: [PATCH 3/5] Fix redirect URLs --- CODE_OF_CONDUCT.rst | 2 +- CONTRIBUTING.rst | 12 +++++------ README.rst | 2 +- README_kr.rst | 2 +- docs/changelog.rst | 32 +++++++++++++++--------------- docs/dev/plugins/commands.rst | 4 ++-- docs/dev/plugins/index.rst | 2 +- docs/dev/plugins/other/logging.rst | 2 +- docs/faq.rst | 6 +++--- docs/guides/installation.rst | 6 +++--- docs/plugins/absubmit.rst | 2 +- docs/plugins/aura.rst | 8 ++++---- docs/plugins/bpd.rst | 2 +- docs/plugins/convert.rst | 4 ++-- docs/plugins/deezer.rst | 2 +- docs/plugins/discogs.rst | 2 +- docs/plugins/embedart.rst | 2 +- docs/plugins/fetchart.rst | 6 +++--- docs/plugins/hook.rst | 2 +- docs/plugins/index.rst | 12 +++++------ docs/plugins/ipfs.rst | 4 ++-- docs/plugins/lastgenre.rst | 4 ++-- docs/plugins/lastimport.rst | 2 +- docs/plugins/lyrics.rst | 8 ++++---- docs/plugins/musicbrainz.rst | 2 +- docs/plugins/plexupdate.rst | 4 ++-- docs/plugins/replaygain.rst | 2 +- docs/plugins/sonosupdate.rst | 2 +- docs/plugins/spotify.rst | 2 +- docs/plugins/thumbnails.rst | 2 +- docs/plugins/web.rst | 4 ++-- docs/reference/cli.rst | 2 +- docs/reference/pathformat.rst | 2 +- docs/reference/query.rst | 2 +- 34 files changed, 77 insertions(+), 77 deletions(-) diff --git a/CODE_OF_CONDUCT.rst b/CODE_OF_CONDUCT.rst index e4f744bdd0..cf37e29f36 100644 --- a/CODE_OF_CONDUCT.rst +++ b/CODE_OF_CONDUCT.rst @@ -127,7 +127,7 @@ Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available `here -`_. +`_. Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder. diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 23674ddac5..c34b8625e0 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -157,7 +157,7 @@ Code Contribution Ideas `__. These are issues that would serve as a good introduction to the codebase. Claim one and start exploring! -- Like testing? Our `test coverage `__ +- Like testing? Our `test coverage `__ is somewhat low. You can help out by finding low-coverage modules or checking out other `testing-related issues `__. @@ -169,7 +169,7 @@ Code Contribution Ideas `__ 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 - `__ for docstrings and in some + `__ for docstrings and in some places, we also sometimes use `ReST autodoc syntax for Sphinx `__ to, for example, refer to a class name. @@ -263,12 +263,12 @@ 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 - `__ module instead. In + `__ 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 - `__-style logging + `__-style logging instead of ``%``-style, so you can type ``log.debug("{}", obj)`` to do your formatting. @@ -375,7 +375,7 @@ 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 @@ -391,7 +391,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/ diff --git a/README.rst b/README.rst index 9e42eec305..851d3bffa5 100644 --- a/README.rst +++ b/README.rst @@ -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 diff --git a/README_kr.rst b/README_kr.rst index 8032294252..a1a3389d33 100644 --- a/README_kr.rst +++ b/README_kr.rst @@ -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 diff --git a/docs/changelog.rst b/docs/changelog.rst index 8b5f3258a9..5bca4e5819 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1587,13 +1587,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 @@ -2667,7 +2667,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 ~~~~~ @@ -2973,7 +2973,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 @@ -3048,7 +3048,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) ---------------------- @@ -3330,7 +3330,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) ------------------------- @@ -3554,7 +3554,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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -3730,7 +3730,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) --------------------- @@ -3810,7 +3810,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) ------------------------- @@ -4513,7 +4513,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) ------------------------ @@ -4953,7 +4953,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) ------------------------- @@ -5070,7 +5070,7 @@ release: one for assigning genres and another for ReplayGain analysis. .. _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 @@ -5201,9 +5201,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) ---------------------- @@ -5404,7 +5404,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) ---------------------- @@ -5574,7 +5574,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) --------------------- diff --git a/docs/dev/plugins/commands.rst b/docs/dev/plugins/commands.rst index f39578f112..68adf38866 100644 --- a/docs/dev/plugins/commands.rst +++ b/docs/dev/plugins/commands.rst @@ -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. diff --git a/docs/dev/plugins/index.rst b/docs/dev/plugins/index.rst index a8feb32d9b..e01b34741a 100644 --- a/docs/dev/plugins/index.rst +++ b/docs/dev/plugins/index.rst @@ -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 ---------------- diff --git a/docs/dev/plugins/other/logging.rst b/docs/dev/plugins/other/logging.rst index a26f0c4c09..c44e690c47 100644 --- a/docs/dev/plugins/other/logging.rst +++ b/docs/dev/plugins/other/logging.rst @@ -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 diff --git a/docs/faq.rst b/docs/faq.rst index 556af67d27..dd30fcbeba 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -171,7 +171,7 @@ follow these guidelines when reporting an issue: - Most importantly: if beets is crashing, please `include the traceback `__. Tracebacks can be more readable if you put them in a pastebin (e.g., `Gist `__ or `Hastebin - `__), especially when communicating over IRC. + `__), 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. @@ -191,7 +191,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 @@ -369,4 +369,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 diff --git a/docs/guides/installation.rst b/docs/guides/installation.rst index 2f07499be4..1340d28afe 100644 --- a/docs/guides/installation.rst +++ b/docs/guides/installation.rst @@ -4,7 +4,7 @@ Installation Beets requires `Python 3.10 or later`_. You can install it using package managers, pipx_, pip_ or by using package managers. -.. _python 3.10 or later: https://python.org/download/ +.. _python 3.10 or later: https://www.python.org/downloads/ Using ``pipx`` or ``pip`` ------------------------- @@ -40,7 +40,7 @@ conflicts and keeps your system clean. If you don't have pipx_ installed, you can follow the instructions on the `pipx installation page`_ to get it set up. -.. _pip: https://pip.pypa.io/en/ +.. _pip: https://pip.pypa.io/en/stable/ .. _pipx: https://pipx.pypa.io/stable @@ -160,7 +160,7 @@ necessary keys to your registry. You can then right-click a directory and choose .. _install pip: https://pip.pypa.io/en/stable/installing/ -.. _install python: https://python.org/download/ +.. _install python: https://www.python.org/downloads/ ARM Installation ~~~~~~~~~~~~~~~~ diff --git a/docs/plugins/absubmit.rst b/docs/plugins/absubmit.rst index 262977c4fb..894deb4437 100644 --- a/docs/plugins/absubmit.rst +++ b/docs/plugins/absubmit.rst @@ -75,6 +75,6 @@ file. The available options are: .. _pip: https://pip.pypa.io -.. _requests: https://requests.readthedocs.io/en/master/ +.. _requests: https://requests.readthedocs.io/en/latest/ .. _streaming_extractor_music: https://essentia.upf.edu/ diff --git a/docs/plugins/aura.rst b/docs/plugins/aura.rst index f26e7aa650..b845350823 100644 --- a/docs/plugins/aura.rst +++ b/docs/plugins/aura.rst @@ -6,9 +6,9 @@ Flask_ framework. AURA is still a work in progress and doesn't yet have a stable version, but this server should be kept up to date. You are advised to read the :ref:`aura-issues` section. -.. _aura: https://auraspec.readthedocs.io +.. _aura: https://auraspec.readthedocs.io/en/latest/ -.. _flask: https://palletsprojects.com/p/flask/ +.. _flask: https://palletsprojects.com/projects/flask/ Install ------- @@ -26,7 +26,7 @@ is used, which will give a warning about using it in a production environment. It is safe to ignore this warning if the server will have only a few users. Alternatively, you can use ``beet aura -d`` to start the server in `development -mode `__, which will reload +mode `__, which will reload the server every time the AURA plugin file is changed. You can specify the hostname and port number used by the server in your @@ -122,7 +122,7 @@ what you need. .. _gunicorn: https://gunicorn.org -.. _uwsgi: https://uwsgi-docs.readthedocs.io +.. _uwsgi: https://uwsgi-docs.readthedocs.io/en/latest/ Reverse Proxy Support --------------------- diff --git a/docs/plugins/bpd.rst b/docs/plugins/bpd.rst index 6bc1689346..558b92aa64 100644 --- a/docs/plugins/bpd.rst +++ b/docs/plugins/bpd.rst @@ -111,7 +111,7 @@ behaviour to their MPD equivalents. BPD aims to look enough like MPD that it can interact with the ecosystem of clients, but doesn't try to be a fully-fledged MPD replacement in terms of its playback capabilities. -.. _the mpd protocol: https://www.musicpd.org/doc/protocol/ +.. _the mpd protocol: https://mpd.readthedocs.io/en/latest/protocol.html These are some of the known differences between BPD and MPD: diff --git a/docs/plugins/convert.rst b/docs/plugins/convert.rst index 583da357aa..1b16dcf315 100644 --- a/docs/plugins/convert.rst +++ b/docs/plugins/convert.rst @@ -232,9 +232,9 @@ options and a thorough discussion of MP3 encoding. .. _documentation: https://sourceforge.net/projects/lame/ -.. _gapless: https://wiki.hydrogenaud.io/index.php?title=Gapless_playback +.. _gapless: https://wiki.hydrogenaudio.org/index.php?title=Gapless_playback -.. _hydrogenaudio wiki: https://wiki.hydrogenaud.io/index.php?title=LAME +.. _hydrogenaudio wiki: https://wiki.hydrogenaudio.org/index.php?title=LAME .. _lame: https://sourceforge.net/projects/lame/ diff --git a/docs/plugins/deezer.rst b/docs/plugins/deezer.rst index d44a565ce5..6e3b5527e7 100644 --- a/docs/plugins/deezer.rst +++ b/docs/plugins/deezer.rst @@ -6,7 +6,7 @@ Deezer_ Album_ and Track_ APIs. .. _album: https://developers.deezer.com/api/album -.. _deezer: https://www.deezer.com +.. _deezer: https://www.deezer.com/en/ .. _track: https://developers.deezer.com/api/track diff --git a/docs/plugins/discogs.rst b/docs/plugins/discogs.rst index 3734b57e73..f886857202 100644 --- a/docs/plugins/discogs.rst +++ b/docs/plugins/discogs.rst @@ -165,7 +165,7 @@ Default .. _discogs guidelines: https://support.discogs.com/hc/en-us/articles/360005055373-Database-Guidelines-12-Tracklisting#Index_Tracks_And_Headings -.. _divisions album: https://www.discogs.com/Handel-Sutherland-Kirkby-Kwella-Nelson-Watkinson-Bowman-Rolfe-Johnson-Elliott-Partridge-Thomas-The-A/release/2026070 +.. _divisions album: https://www.discogs.com/release/2026070-Handel-Sutherland-Kirkby-Kwella-Nelson-Watkinson-Bowman-Rolfe-Johnson-Elliott-Partridge-Thomas-The-A Troubleshooting --------------- diff --git a/docs/plugins/embedart.rst b/docs/plugins/embedart.rst index 4da49f6a08..85498304b1 100644 --- a/docs/plugins/embedart.rst +++ b/docs/plugins/embedart.rst @@ -76,7 +76,7 @@ file. The available options are: Note: ``compare_threshold`` option requires ImageMagick_, and ``maxwidth`` requires either ImageMagick_ or Pillow_. -.. _imagemagick: https://www.imagemagick.org/ +.. _imagemagick: https://imagemagick.org/ .. _phash: https://web.archive.org/web/*/http://www.fmwconcepts.com/misc_tests/perceptual_hash_test_results_510/index.html diff --git a/docs/plugins/fetchart.rst b/docs/plugins/fetchart.rst index fd578212aa..99a869662a 100644 --- a/docs/plugins/fetchart.rst +++ b/docs/plugins/fetchart.rst @@ -112,7 +112,7 @@ Pillow_. PIL.features.pilinfo() to print a list of all supported formats in Pillow (``python3 -c 'import PIL.features as f; f.pilinfo()'``). -.. _beets custom search engine: https://cse.google.com.au:443/cse/publicurl?cx=001442825323518660753:hrh5ch1gjzm +.. _beets custom search engine: https://cse.google.com/cse?cx=001442825323518660753:hrh5ch1gjzm Here's an example that makes plugin select only images that contain ``front`` or ``back`` keywords in their filenames and prioritizes the iTunes source over @@ -224,7 +224,7 @@ Optionally, you can `define a custom search engine`_. Get your search engine's token and use it for your ``google_engine`` configuration option. The default engine searches the entire web for cover art. -.. _define a custom search engine: https://www.google.com/cse/all +.. _define a custom search engine: https://programmablesearchengine.google.com/about/ Note that the Google custom search API is limited to 100 queries per day. After that, the fetchart plugin will fall back on other declared data sources. @@ -294,6 +294,6 @@ do The values written to ``art_source`` are the same names used in the ``sources`` configuration value. -.. _imagemagick: https://www.imagemagick.org/ +.. _imagemagick: https://imagemagick.org/ .. _pillow: https://github.com/python-pillow/Pillow diff --git a/docs/plugins/hook.rst b/docs/plugins/hook.rst index f3e847aa37..52979188b4 100644 --- a/docs/plugins/hook.rst +++ b/docs/plugins/hook.rst @@ -38,7 +38,7 @@ Commands can access the parameters of events using `Python string formatting`_. Use ``{name}`` in your command and the plugin will substitute it with the named value. The name can also refer to a field, as in ``{album.path}``. -.. _python string formatting: https://www.python.org/dev/peps/pep-3101/ +.. _python string formatting: https://peps.python.org/pep-3101/ You can find a list of all available events and their arguments in the :ref:`plugin events ` documentation. diff --git a/docs/plugins/index.rst b/docs/plugins/index.rst index aadf34d25c..6db1c89000 100644 --- a/docs/plugins/index.rst +++ b/docs/plugins/index.rst @@ -160,13 +160,13 @@ Autotagger Extensions :doc:`spotify ` Search for releases in the Spotify_ database. -.. _deezer: https://www.deezer.com +.. _deezer: https://www.deezer.com/en/ .. _discogs: https://www.discogs.com .. _musicbrainz: https://www.musicbrainz.com -.. _spotify: https://www.spotify.com +.. _spotify: https://open.spotify.com/ Metadata -------- @@ -318,7 +318,7 @@ Interoperability :doc:`subsonicupdate ` Automatically notifies Subsonic_ whenever the beets library changes. -.. _aura: https://auraspec.readthedocs.io +.. _aura: https://auraspec.readthedocs.io/en/latest/ .. _emby: https://emby.media @@ -326,11 +326,11 @@ Interoperability .. _kodi: https://kodi.tv -.. _plex: https://plex.tv +.. _plex: https://watch.plex.tv/ -.. _sonos: https://sonos.com +.. _sonos: https://www.sonos.com/ -.. _subsonic: https://www.subsonic.org/ +.. _subsonic: https://www.subsonic.org/pages/index.jsp Miscellaneous ------------- diff --git a/docs/plugins/ipfs.rst b/docs/plugins/ipfs.rst index 6f8144087a..25e2d5bc70 100644 --- a/docs/plugins/ipfs.rst +++ b/docs/plugins/ipfs.rst @@ -4,7 +4,7 @@ IPFS Plugin The ``ipfs`` plugin makes it easy to share your library and music with friends. The plugin uses ipfs_ for storing the library and file content. -.. _ipfs: https://ipfs.io/ +.. _ipfs: https://about.ipfs.io/ Installation ------------ @@ -12,7 +12,7 @@ Installation This plugin requires go-ipfs_ to be running as a daemon and that the associated ``ipfs`` command is on the user's ``$PATH``. -.. _go-ipfs: https://github.com/ipfs/go-ipfs +.. _go-ipfs: https://github.com/ipfs/kubo Once you have the client installed, enable the ``ipfs`` plugin in your configuration (see :ref:`using-plugins`). diff --git a/docs/plugins/lastgenre.rst b/docs/plugins/lastgenre.rst index cbf63e4544..b0c01eabd2 100644 --- a/docs/plugins/lastgenre.rst +++ b/docs/plugins/lastgenre.rst @@ -4,7 +4,7 @@ LastGenre Plugin The ``lastgenre`` plugin fetches *tags* from Last.fm_ and assigns them as genres to your albums and items. -.. _last.fm: https://last.fm/ +.. _last.fm: https://www.last.fm/ Installation ------------ @@ -32,7 +32,7 @@ Wikipedia`_. .. _internal whitelist: https://raw.githubusercontent.com/beetbox/beets/master/beetsplug/lastgenre/genres.txt -.. _script that scrapes wikipedia: https://gist.github.com/1241307 +.. _script that scrapes wikipedia: https://gist.github.com/sampsyo/1241307 Canonicalization ~~~~~~~~~~~~~~~~ diff --git a/docs/plugins/lastimport.rst b/docs/plugins/lastimport.rst index 61fadc506d..973ada92b1 100644 --- a/docs/plugins/lastimport.rst +++ b/docs/plugins/lastimport.rst @@ -6,7 +6,7 @@ into beets' database. You can later create :doc:`smart playlists ` by querying ``play_count`` and do other fun stuff with this field. -.. _last.fm: https://last.fm +.. _last.fm: https://www.last.fm/ Installation ------------ diff --git a/docs/plugins/lyrics.rst b/docs/plugins/lyrics.rst index 02d3c0fbec..276e0cd95a 100644 --- a/docs/plugins/lyrics.rst +++ b/docs/plugins/lyrics.rst @@ -95,7 +95,7 @@ The available options are: existing synced lyrics are not replaced by newly fetched plain lyrics (even when ``force`` is enabled). To allow that replacement, disable ``synced``. -.. _beets custom search engine: https://www.google.com:443/cse/publicurl?cx=009217259823014548361:lndtuqkycfu +.. _beets custom search engine: https://cse.google.com/cse?cx=009217259823014548361:lndtuqkycfu Fetching Lyrics Manually ------------------------ @@ -148,11 +148,11 @@ Sphinx supports various builders_, see a few suggestions: sphinx-build -b latex /latex && make -C /latex all-pdf -.. _builders: https://www.sphinx-doc.org/en/stable/builders.html +.. _builders: https://www.sphinx-doc.org/en/master/usage/builders/index.html .. _restructuredtext: https://sourceforge.net/projects/docutils/ -.. _sphinx: https://www.sphinx-doc.org/ +.. _sphinx: https://www.sphinx-doc.org/en/master/ Activate Google Custom Search ----------------------------- @@ -173,7 +173,7 @@ beets use a list of sources known to be scrapeable. Note that the Google custom search API is limited to 100 queries per day. After that, the lyrics plugin will fall back on other declared data sources. -.. _define a custom search engine: https://www.google.com/cse/all +.. _define a custom search engine: https://programmablesearchengine.google.com/about/ .. _lyrics-translation: diff --git a/docs/plugins/musicbrainz.rst b/docs/plugins/musicbrainz.rst index 2baa36776b..aa6205a9d8 100644 --- a/docs/plugins/musicbrainz.rst +++ b/docs/plugins/musicbrainz.rst @@ -152,7 +152,7 @@ Default .. include:: ./shared_metadata_source_config.rst -.. _building search indexes: https://musicbrainz.org/doc/Development/Search_server_setup +.. _building search indexes: https://wiki.musicbrainz.org/History:Development/Search_server_setup .. _limited: https://musicbrainz.org/doc/XML_Web_Service/Rate_Limiting diff --git a/docs/plugins/plexupdate.rst b/docs/plugins/plexupdate.rst index a3aecae113..8b4d6daa46 100644 --- a/docs/plugins/plexupdate.rst +++ b/docs/plugins/plexupdate.rst @@ -27,9 +27,9 @@ Plex's own `documentation about tokens`_). With that all in place, you'll see beets send the "update" command to your Plex server every time you change your beets library. -.. _documentation about tokens: https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account-token-X-Plex-Token +.. _documentation about tokens: https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/ -.. _plex: https://plex.tv/ +.. _plex: https://watch.plex.tv/ Configuration ------------- diff --git a/docs/plugins/replaygain.rst b/docs/plugins/replaygain.rst index 1ba31f15ed..191b37f243 100644 --- a/docs/plugins/replaygain.rst +++ b/docs/plugins/replaygain.rst @@ -31,7 +31,7 @@ least GStreamer 1.0 and `PyGObject 3.x`_ (a.k.a. ``python-gi``). .. _gstreamer: https://gstreamer.freedesktop.org/ -.. _pygobject 3.x: https://pygobject.readthedocs.io/en/latest/ +.. _pygobject 3.x: https://pygobject.gnome.org/ Then, install ``beets`` with ``replaygain`` extra which installs ``GStreamer`` bindings for Python diff --git a/docs/plugins/sonosupdate.rst b/docs/plugins/sonosupdate.rst index 956a26a2a6..5fce65627d 100644 --- a/docs/plugins/sonosupdate.rst +++ b/docs/plugins/sonosupdate.rst @@ -15,4 +15,4 @@ To use the ``sonosupdate`` plugin, first enable it in your configuration (see With that all in place, you'll see beets send the "update" command to your Sonos controller every time you change your beets library. -.. _sonos: https://sonos.com/ +.. _sonos: https://www.sonos.com/ diff --git a/docs/plugins/spotify.rst b/docs/plugins/spotify.rst index 20460ecf90..ed41995dea 100644 --- a/docs/plugins/spotify.rst +++ b/docs/plugins/spotify.rst @@ -9,7 +9,7 @@ matches for the importer. .. _album: https://developer.spotify.com/documentation/web-api/reference/get-an-album -.. _spotify: https://www.spotify.com/ +.. _spotify: https://open.spotify.com/ .. _spotify search api: https://developer.spotify.com/documentation/web-api/reference/search diff --git a/docs/plugins/thumbnails.rst b/docs/plugins/thumbnails.rst index 4eeeb74be1..b1be6f89f7 100644 --- a/docs/plugins/thumbnails.rst +++ b/docs/plugins/thumbnails.rst @@ -16,7 +16,7 @@ install ``beets`` with ``thumbnails`` and ``fetchart`` extras ``thumbnails`` need to resize the covers, and therefore requires either ImageMagick_ or Pillow_. -.. _imagemagick: https://www.imagemagick.org/ +.. _imagemagick: https://imagemagick.org/ .. _pillow: https://github.com/python-pillow/Pillow diff --git a/docs/plugins/web.rst b/docs/plugins/web.rst index 74e2cf03eb..0ade39dc52 100644 --- a/docs/plugins/web.rst +++ b/docs/plugins/web.rst @@ -143,7 +143,7 @@ directory: proxy_set_header X-Script-Name /beets; } -.. _nginx: https://www.nginx.com +.. _nginx: https://www.f5.com/products/nginx JSON API -------- @@ -295,4 +295,4 @@ Responds with the number of tracks and albums in the database. "albums": 3 } -.. _flask: https://flask.palletsprojects.com/en/1.1.x/ +.. _flask: https://flask.palletsprojects.com/en/stable/ diff --git a/docs/reference/cli.rst b/docs/reference/cli.rst index 6f60d22326..758fd111a5 100644 --- a/docs/reference/cli.rst +++ b/docs/reference/cli.rst @@ -149,7 +149,7 @@ Optional command flags: .. _py7zr: https://pypi.org/project/py7zr/ -.. _rarfile: https://pypi.python.org/pypi/rarfile/ +.. _rarfile: https://pypi.org/project/rarfile/ .. only:: html diff --git a/docs/reference/pathformat.rst b/docs/reference/pathformat.rst index 2469eb1c0b..612d16d472 100644 --- a/docs/reference/pathformat.rst +++ b/docs/reference/pathformat.rst @@ -34,7 +34,7 @@ Continuing with the Stop Making Sense example, you'll end up with most of the tracks in a "Talking Heads" directory and one in a "Tom Tom Club" directory. You probably don't want that! So use ``$albumartist``. -.. _stop making sense: https://musicbrainz.org/release/798dcaab-0f1a-4f02-a9cb-61d5b0ddfd36.html +.. _stop making sense: https://musicbrainz.org/release/798dcaab-0f1a-4f02-a9cb-61d5b0ddfd36 As a convenience, however, beets allows ``$albumartist`` to fall back to the value for ``$artist`` and vice-versa if one tag is present but the other is not. diff --git a/docs/reference/query.rst b/docs/reference/query.rst index a8d2c44879..9d1e8571bb 100644 --- a/docs/reference/query.rst +++ b/docs/reference/query.rst @@ -200,7 +200,7 @@ with a single ``:``, like so: $ beet list ":Ho[pm]eless" Regular expressions are case-sensitive and build on `Python's built-in -implementation `__. See Python's +implementation `__. See Python's documentation for specifics on regex syntax. Most command-line shells will try to interpret common characters in regular From 192217da5d70621089b06b06fff3dbcbeb4c0c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0ar=C5=ABnas=20Nejus?= Date: Fri, 6 Mar 2026 09:21:46 +0000 Subject: [PATCH 4/5] Format docs --- CONTRIBUTING.rst | 27 +++++++++++++-------------- docs/faq.rst | 9 +++++---- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index c34b8625e0..22db94565b 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -157,10 +157,10 @@ Code Contribution Ideas `__. These are issues that would serve as a good introduction to the codebase. Claim one and start exploring! -- Like testing? Our `test coverage `__ - is somewhat low. You can help out by finding low-coverage modules or checking - out other `testing-related issues - `__. +- Like testing? Our `test coverage + `__ is somewhat low. You can help + out by finding low-coverage modules or checking out other `testing-related + issues `__. - There are several ways to improve the tests in general (see :ref:`testing` and some places to think about performance optimization (see `Optimization `__). @@ -169,8 +169,8 @@ Code Contribution Ideas `__ 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 - `__ for docstrings and in some - places, we also sometimes use `ReST autodoc syntax for Sphinx + `__ for docstrings and in some places, we + also sometimes use `ReST autodoc syntax for Sphinx `__ to, for example, refer to a class name. @@ -268,8 +268,8 @@ There are a few coding conventions we use in beets: logging`` in most files. - The loggers use `str.format - `__-style logging - instead of ``%``-style, so you can type ``log.debug("{}", obj)`` to do your + `__-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:``. @@ -357,10 +357,9 @@ Writing Tests ~~~~~~~~~~~~~ Writing tests is done by adding or modifying files in folder test_. Take a look -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! +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 @@ -381,8 +380,6 @@ This way, the test will be run only in the integration test suite. .. _documentation: https://beets.readthedocs.io/en/stable/ -.. _test-query: https://github.com/beetbox/beets/blob/master/test/test_query.py - .. _integration test: https://github.com/beetbox/beets/actions?query=workflow%3A%22integration+tests%22 .. _pipx: https://pipx.pypa.io/stable @@ -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/ diff --git a/docs/faq.rst b/docs/faq.rst index dd30fcbeba..847bbd9a89 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -171,7 +171,8 @@ follow these guidelines when reporting an issue: - Most importantly: if beets is crashing, please `include the traceback `__. Tracebacks can be more readable if you put them in a pastebin (e.g., `Gist `__ or `Hastebin - `__), especially when communicating over IRC. + `__), 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. @@ -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 -`__, don't support v2.4 tags. When using -2.4-unaware software, it might look like the tags are unmodified or missing -completely. +`__, 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. From b3f558584910ab4fc6aa185ec4a4c8554001ba24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0ar=C5=ABnas=20Nejus?= Date: Fri, 6 Mar 2026 09:22:55 +0000 Subject: [PATCH 5/5] Add a changelog note --- docs/changelog.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index 5bca4e5819..1f79f64873 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -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) -------------------------