-
Notifications
You must be signed in to change notification settings - Fork 2k
Open
Labels
metadata_pluginsAn issue that is generally related to metadata plugin logic.An issue that is generally related to metadata plugin logic.musicbrainz
Description
Importing some albums this morning and encountered a urllib crash, I think this might be resolved generally by #5965, but there might be a spot where the exception can be handled within the plugin itself. Working with the current master commit.
Problem
Running this command in verbose (-vv) mode:
Match (49.9%):
Delerium - Poem
≠ missing tracks, tracks, mediums, data source, album, catalognum
Discogs, 2xCD, 2000, USA & Canada, Nettwerk, 0 6700 30166 2 9, None
https://www.discogs.com/release/47035-Delerium-Poem
* Artist: Delerium
≠ Album: Poem (Disc 2) (Bonus Disc) -> Poem
* CD 2: Bonus Disc
≠ (#1) Silence (feat. Sarah McLachlan) (8:40) -> (#2-1) Silence (Airscape Remix) (8:40)
≠ (#2) Flowers Become Screens (feat. Kristy Thirsk) (7:59) -> (#2-2) Flowers Become Screens (Deepsky Remix) (7:59)
≠ (#3) Inner Sanctum (feat. Kristy Hawkshaw (7:23) -> (#2-3) Inner Sanctum (7:23)
≠ (#4) Nature's Kingdom II (feat. Jenifer McLaren) (5:18) -> (#2-4) Nature's Kingdom II (5:18)
Missing tracks (11/15 - 73.3%):
! Terra Firma (#1-1) (5:39)
! Innocente (#1-2) (6:29)
! Aria (#1-3) (6:50)
! Fallen Icons (#1-4) (6:30)
! Underwater (#1-5) (5:21)
! Myth (#1-6) (6:10)
! Nature's Kingdom (#1-7) (5:15)
! Daylight (#1-8) (5:32)
! Temptation (#1-9) (8:06)
! A Poem for Byzantium (#1-10) (5:53)
! Amongst the Ruins (#1-11) (10:27)
➜ Apply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort, Print tracks, Open files with Picard? A
This album is already in the library!
Old: 11 items, FLAC, 918kbps, 44.1kHz/16 bit, 72:17, 498.8 MiB
New: 4 items, FLAC, 960kbps, 44.1kHz/16 bit, 29:21, 201.9 MiB
➜ [S]kip new, Keep all, Remove old, Merge all? M
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Henry\AppData\Roaming\Python\Python312\site-packages\requests\adapters.py", line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\urllib3\connectionpool.py", line 877, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\urllib3\connectionpool.py", line 877, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\urllib3\connectionpool.py", line 847, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\urllib3\util\retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='musicbrainz.org', port=443): Max retries exceeded with url: /ws/2/release/b0a48d0e-5947-4c2d-84f3-dcf2f06371ec?inc=artists%2Bmedia%2Brecordings%2Brelease-groups%2Blabels%2Bartist-credits%2Baliases%2Brecording-level-rels%2Bwork-rels%2Bwork-level-rels%2Bartist-rels%2Bisrcs%2Burl-rels%2Brelease-rels%2Bgenres%2Btags&fmt=json (Caused by ProtocolError('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\Python312\Scripts\beet.exe\__main__.py", line 7, in <module>
File "C:\Python312\Lib\site-packages\beets\ui\__init__.py", line 1629, in main
_raw_main(args)
File "C:\Python312\Lib\site-packages\beets\ui\__init__.py", line 1608, in _raw_main
subcommand.func(lib, suboptions, subargs)
File "C:\Python312\Lib\site-packages\beets\ui\commands\import_\__init__.py", line 131, in import_func
import_files(lib, byte_paths, query)
File "C:\Python312\Lib\site-packages\beets\ui\commands\import_\__init__.py", line 75, in import_files
session.run()
File "C:\Python312\Lib\site-packages\beets\importer\session.py", line 236, in run
pl.run_parallel(QUEUE_SIZE)
File "C:\Python312\Lib\site-packages\beets\util\pipeline.py", line 471, in run_parallel
raise exc_info[1].with_traceback(exc_info[2])
File "C:\Python312\Lib\site-packages\beets\util\pipeline.py", line 339, in run
for msg in _allmsgs(out):
File "C:\Python312\Lib\site-packages\beets\util\pipeline.py", line 492, in pull
out = coro.send(msg)
^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beets\util\pipeline.py", line 219, in coro
func(*(args + (task,)))
File "C:\Python312\Lib\site-packages\beets\importer\stages.py", line 146, in lookup_candidates
task.lookup_candidates(session.config["search_ids"].as_str_seq())
File "C:\Python312\Lib\site-packages\beets\importer\tasks.py", line 367, in lookup_candidates
autotag.tag_album(self.items, search_ids=search_ids)
File "C:\Python312\Lib\site-packages\beets\autotag\match.py", line 285, in tag_album
if info := match_by_id(items):
^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beets\autotag\match.py", line 122, in match_by_id
return metadata_plugins.album_for_id(first)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beets\metadata_plugins.py", line 57, in album_for_id
if info := plugin.album_for_id(album_id=_id):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beetsplug\musicbrainz.py", line 794, in album_for_id
res = self.mb_api.get_release(albumid, includes=RELEASE_INCLUDES)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beetsplug\_utils\musicbrainz.py", line 209, in get_release
return self._lookup("release", id_, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beetsplug\_utils\musicbrainz.py", line 179, in _lookup
return self._get_resource(f"{entity}/{id_}", **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beetsplug\_utils\musicbrainz.py", line 173, in _get_resource
self.get_json(f"{self.api_root}/{resource}", params=kwargs)
File "C:\Python312\Lib\site-packages\beetsplug\_utils\requests.py", line 196, in get_json
return self.get(*args, **kwargs).json()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beetsplug\_utils\requests.py", line 184, in get
return self.request("get", *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beetsplug\_utils\musicbrainz.py", line 158, in request
return super().request(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beetsplug\_utils\requests.py", line 180, in request
return self.session.request(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\beetsplug\_utils\requests.py", line 101, in request
r = super().request(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Henry\AppData\Roaming\Python\Python312\site-packages\requests\sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\requests_ratelimiter\requests_ratelimiter.py", line 95, in send
response = super().send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Henry\AppData\Roaming\Python\Python312\site-packages\requests\sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Henry\AppData\Roaming\Python\Python312\site-packages\requests\adapters.py", line 519, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='musicbrainz.org', port=443): Max retries exceeded with url: /ws/2/release/b0a48d0e-5947-4c2d-84f3-dcf2f06371ec?inc=artists%2Bmedia%2Brecordings%2Brelease-groups%2Blabels%2Bartist-credits%2Baliases%2Brecording-level-rels%2Bwork-rels%2Bwork-level-rels%2Bartist-rels%2Bisrcs%2Burl-rels%2Brelease-rels%2Bgenres%2Btags&fmt=json (Caused by ProtocolError('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)))Metadata
Metadata
Assignees
Labels
metadata_pluginsAn issue that is generally related to metadata plugin logic.An issue that is generally related to metadata plugin logic.musicbrainz