Skip to content

Commit e151b4b

Browse files
committed
Implement track_for_id to allow fetching singletons by discogs id
1 parent d3ef627 commit e151b4b

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

beetsplug/discogs.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,14 @@ def album_for_id(self, album_id: str) -> AlbumInfo | None:
241241
return None
242242
return self.get_album_info(result)
243243

244+
def track_for_id(self, track_id: str) -> TrackInfo | None:
245+
if album := self.album_for_id(track_id):
246+
for track in album.tracks:
247+
if track.track_id == track_id:
248+
return track
249+
250+
return None
251+
244252
def get_albums(self, query: str) -> Iterable[AlbumInfo]:
245253
"""Returns a list of AlbumInfo objects for a discogs search query."""
246254
# Strip non-word characters from query. Things like "!" and "-" can

docs/changelog.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ New features:
1919
Media Session API to customize media notifications.
2020
* :doc:`plugins/discogs`: Add configurable ``search_limit`` option to
2121
limit the number of results returned by the Discogs metadata search queries.
22+
* :doc:`plugins/discogs`: Implement ``track_for_id`` method to allow retrieving
23+
singletons by their Discogs ID.
24+
:bug:`4661`
2225

2326
Bug fixes:
2427

0 commit comments

Comments
 (0)