Edit: Just realized this was discussed in #3862, #4477. Maybe we should remove the beatport plugin if it no longer works.
I just enabled the beatport plugin
Problem
Running this command in verbose (-vv) mode:
$ beet -vv import ~/Music/import
Led to this problem:
(beet) benpage@Chicken-Joe ~ % beet -vv import ~/Music/import
user configuration: /Users/benpage/.config/beets/config.yaml
data directory: /Users/benpage/.config/beets
plugin paths:
Sending event: pluginload
library database: /Users/benpage/Music/beets/library.db
library directory: /Users/benpage/Music/library
Sending event: library_opened
Sending event: import_begin
Traceback (most recent call last):
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beetsplug/beatport.py", line 309, in setup
with open(self._tokenfile()) as f:
^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/Users/benpage/.config/beets/beatport_token.json'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/connection.py", line 198, in _new_conn
sock = connection.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
TimeoutError: [Errno 60] Operation timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/connectionpool.py", line 793, in urlopen
response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/connectionpool.py", line 491, in _make_request
raise new_e
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/connectionpool.py", line 467, in _make_request
self._validate_conn(conn)
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1099, in _validate_conn
conn.connect()
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/connection.py", line 616, in connect
self.sock = sock = self._new_conn()
^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/connection.py", line 207, in _new_conn
raise ConnectTimeoutError(
urllib3.exceptions.ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x102925b50>, 'Connection to oauth-api.beatport.com timed out. (connect timeout=None)')
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/requests/adapters.py", line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/urllib3/connectionpool.py", line 847, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/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='oauth-api.beatport.com', port=443): Max retries exceeded with url: /identity/1/oauth/request-token (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x102925b50>, 'Connection to oauth-api.beatport.com timed out. (connect timeout=None)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/anaconda3/envs/beet/bin/beet", line 8, in <module>
sys.exit(main())
^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beets/ui/__init__.py", line 1865, in main
_raw_main(args)
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beets/ui/__init__.py", line 1852, in _raw_main
subcommand.func(lib, suboptions, subargs)
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beets/ui/commands.py", line 1395, in import_func
import_files(lib, paths, query)
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beets/ui/commands.py", line 1326, in import_files
session.run()
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beets/importer.py", line 357, in run
plugins.send("import_begin", session=self)
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beets/plugins.py", line 507, in send
result = handler(**arguments)
^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beets/plugins.py", line 143, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beetsplug/beatport.py", line 313, in setup
token, secret = self.authenticate(c_key, c_secret)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beetsplug/beatport.py", line 324, in authenticate
url = auth_client.get_authorize_url()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/beetsplug/beatport.py", line 97, in get_authorize_url
self.api.fetch_request_token(
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/requests_oauthlib/oauth1_session.py", line 282, in fetch_request_token
token = self._fetch_token(url, **request_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/requests_oauthlib/oauth1_session.py", line 360, in _fetch_token
r = self.post(url, **request_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/envs/beet/lib/python3.11/site-packages/requests/adapters.py", line 507, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='oauth-api.beatport.com', port=443): Max retries exceeded with url: /identity/1/oauth/request-token (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x102925b50>, 'Connection to oauth-api.beatport.com timed out. (connect timeout=None)'))
(beet) benpage@Chicken-Joe ~ %
Setup
OS: MacOS 14.1.2 (23B92)
Python version: Python 3.11.8 (running in anaconda)
beets version: 1.6.1
Turning off plugins made problem go away (yes/no): no
Edit: Just realized this was discussed in #3862, #4477. Maybe we should remove the beatport plugin if it no longer works.
I just enabled the beatport plugin
Problem
Running this command in verbose (
-vv
) mode:Led to this problem:
Setup
My configuration (output of
beet config
) is: