mirror of
https://github.com/beetbox/beets.git
synced 2026-01-05 07:23:33 +01:00
Update configuration format.
This commit is contained in:
parent
fcebe8123a
commit
f5acdec2b1
3 changed files with 32 additions and 35 deletions
|
|
@ -100,9 +100,11 @@ class DiscogsPlugin(MetadataSourcePlugin):
|
|||
"featured_string": "Feat.",
|
||||
"append_style_genre": False,
|
||||
"strip_disambiguation": True,
|
||||
"album_artist_anv": False,
|
||||
"track_artist_anv": False,
|
||||
"artist_credit_anv": True,
|
||||
"anv": {
|
||||
"artist_credit": True,
|
||||
"artist": False,
|
||||
"album_artist": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
self.config["apikey"].redact = True
|
||||
|
|
@ -368,9 +370,9 @@ class DiscogsPlugin(MetadataSourcePlugin):
|
|||
)
|
||||
|
||||
# Assign ANV to the proper fields for tagging
|
||||
if not self.config["artist_credit_anv"]:
|
||||
if not self.config["anv"]["artist_credit"]:
|
||||
artist_credit = album_artist
|
||||
if self.config["album_artist_anv"]:
|
||||
if self.config["anv"]["album_artist"]:
|
||||
album_artist = album_artist_anv
|
||||
|
||||
# Extract information for the optional AlbumInfo fields, if possible.
|
||||
|
|
@ -674,9 +676,9 @@ class DiscogsPlugin(MetadataSourcePlugin):
|
|||
|
||||
artist, artist_anv, artist_id = album_artist_data
|
||||
artist_credit = artist_anv
|
||||
if not self.config["artist_credit_anv"]:
|
||||
if not self.config["anv"]["artist_credit"]:
|
||||
artist_credit = artist
|
||||
if self.config["track_artist_anv"]:
|
||||
if self.config["anv"]["artist"]:
|
||||
artist = artist_anv
|
||||
|
||||
title = track["title"]
|
||||
|
|
@ -690,10 +692,10 @@ class DiscogsPlugin(MetadataSourcePlugin):
|
|||
# If artists are found on the track, we will use those instead
|
||||
if artists := track.get("artists", []):
|
||||
artist, artist_id = self.get_artist_with_anv(
|
||||
artists, self.config["track_artist_anv"]
|
||||
artists, self.config["anv"]["artist"]
|
||||
)
|
||||
artist_credit, _ = self.get_artist_with_anv(
|
||||
artists, self.config["artist_credit_anv"]
|
||||
artists, self.config["anv"]["artist_credit"]
|
||||
)
|
||||
length = self.get_track_length(track["duration"])
|
||||
|
||||
|
|
@ -705,10 +707,10 @@ class DiscogsPlugin(MetadataSourcePlugin):
|
|||
if "Featuring" in artist["role"]
|
||||
]
|
||||
featured, _ = self.get_artist_with_anv(
|
||||
featured_list, self.config["track_artist_anv"]
|
||||
featured_list, self.config["anv"]["artist"]
|
||||
)
|
||||
featured_credit, _ = self.get_artist_with_anv(
|
||||
featured_list, self.config["artist_credit_anv"]
|
||||
featured_list, self.config["anv"]["artist_credit"]
|
||||
)
|
||||
if featured:
|
||||
artist += f" {self.config['featured_string']} {featured}"
|
||||
|
|
|
|||
|
|
@ -96,11 +96,6 @@ whereas with ``index_tracks`` disabled you'd get:
|
|||
|
||||
This option is useful when importing classical music.
|
||||
|
||||
### Handling Artist Name Variations (ANVs)
|
||||
|
||||
An ANV is an alternate way that an artist may be credited on a release. If the
|
||||
band name changes or is misspelled on different releases. The artist name ac
|
||||
|
||||
Other configurations available under ``discogs:`` are:
|
||||
|
||||
- **append_style_genre**: Appends the Discogs style (if found) to the genre tag.
|
||||
|
|
@ -119,20 +114,20 @@ Other configurations available under ``discogs:`` are:
|
|||
disambiguation in your tags, you can disable it. Default: ``True``
|
||||
- **featured_string**: Configure the string used for noting featured artists.
|
||||
Useful if you prefer ``Featuring`` or ``ft.``. Default: ``Feat.``
|
||||
- **artist_credit_anv**, **track_artist_anv**, **album_artist_anv**: These
|
||||
configuration option are dedicated to handling Arist Name Variations (ANVs).
|
||||
Sometimes a release credits artists differently compared to the majority of
|
||||
their work. For example, "Basement Jaxx" may be credited as "Tha Jaxx" or "The
|
||||
Basement Jaxx". By default, the Discogs plugin stores ANVs in the
|
||||
``artist_credit`` field. You can select any combination of these three to
|
||||
control where beets writes and stores the variation credit.
|
||||
- **anv**: These configuration option are dedicated to handling Artist Name
|
||||
Variations (ANVs). Sometimes a release credits artists differently compared to
|
||||
the majority of their work. For example, "Basement Jaxx" may be credited as
|
||||
"Tha Jaxx" or "The Basement Jaxx".You can select any combination of these
|
||||
config options to control where beets writes and stores the variation credit.
|
||||
The default, shown below, writes variations to the artist_credit field.
|
||||
|
||||
- **artist_credit_anv**: Write ANV to the ``artist_credit`` field.
|
||||
Default: ``True``
|
||||
- **track_artist_anv**: Write ANV to the ``artist`` field. Default:
|
||||
``False``
|
||||
- **album_artist_anv**: Write ANV to the ``album_artist`` field. Default:
|
||||
``False``
|
||||
.. code-block:: yaml
|
||||
|
||||
discogs:
|
||||
anv:
|
||||
artist_credit: True
|
||||
artist: False
|
||||
album_artist: False
|
||||
|
||||
.. _discogs guidelines: https://support.discogs.com/hc/en-us/articles/360005055373-Database-Guidelines-12-Tracklisting#Index_Tracks_And_Headings
|
||||
|
||||
|
|
|
|||
|
|
@ -517,9 +517,9 @@ def test_anv(
|
|||
title=data["title"],
|
||||
artists=[Bag(data=d) for d in data["artists"]],
|
||||
)
|
||||
config["discogs"]["album_artist_anv"] = album_artist_anv
|
||||
config["discogs"]["track_artist_anv"] = track_artist_anv
|
||||
config["discogs"]["artist_credit_anv"] = artist_credit_anv
|
||||
config["discogs"]["anv"]["album_artist"] = album_artist_anv
|
||||
config["discogs"]["anv"]["artist"] = track_artist_anv
|
||||
config["discogs"]["anv"]["artist_credit"] = artist_credit_anv
|
||||
r = DiscogsPlugin().get_album_info(release)
|
||||
assert r.artist == album_artist
|
||||
assert r.artist_credit == album_artist_credit
|
||||
|
|
@ -553,9 +553,9 @@ def test_anv_album_artist():
|
|||
title=data["title"],
|
||||
artists=[Bag(data=d) for d in data["artists"]],
|
||||
)
|
||||
config["discogs"]["album_artist_anv"] = False
|
||||
config["discogs"]["track_artist_anv"] = True
|
||||
config["discogs"]["artist_credit_anv"] = False
|
||||
config["discogs"]["anv"]["album_artist"] = False
|
||||
config["discogs"]["anv"]["artist"] = True
|
||||
config["discogs"]["anv"]["artist_credit"] = False
|
||||
r = DiscogsPlugin().get_album_info(release)
|
||||
assert r.artist == "ARTIST"
|
||||
assert r.artist_credit == "ARTIST"
|
||||
|
|
|
|||
Loading…
Reference in a new issue