Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

beatport plugin timeout on auth #5197

Open
benpage2 opened this issue Apr 18, 2024 · 0 comments
Open

beatport plugin timeout on auth #5197

benpage2 opened this issue Apr 18, 2024 · 0 comments

Comments

@benpage2
Copy link

benpage2 commented Apr 18, 2024

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

My configuration (output of beet config) is:

# --------------- Main ---------------

directory: ~/Music/library
library: ~/Music/beets/library.db

# --------------- Plugins ---------------

plugins: chroma mbsync info duplicates wlg unimported beatport 
# chroma mbsync info duplicates wlg unimported beatport fetchart embedart

acoustid:
    apikey: TbI8rOPhgz

duplicates:
    tiebreak: 
        items: [bitrate]

wlg:
    auto: no
    force: no
    count: 7
    separator: ', '
    whitelist: /Users/benpage/Music/wlg/genres.txt

embedart:
    remove_art_file: yes

unimported:
    ignore_extensions: DS_Store

beatport:
    source_weight: 0.8
    source_weight: 0.0

# --------------- Import ---------------

import:
    # common options
    write: yes
    copy: no
    move: yes
    timid: no
    quiet: no
    log: ~/Music/beets/logs/beets.log
    # other options
    default_action: apply
    quiet_fallback: skip
    none_rec_action: ask
    # rare options 
    incremental: yes
    resume: ask
    from_scratch: no
    autotag: yes
    singletons: no
    detail: yes
    group_albums: no
    duplicate_keys:
        album: albumartist album
        item: artist title
    set_fields: {}
    bell: yes

# --------------- Paths ---------------

asciify_paths: true

# --------------- Tagging ---------------

original_date: yes

paths:
    default: $albumtype/$albumartist/$album%aunique{}/$track $title
    singleton: non-album/$albumartist/$year/$title
    comp: $albumtype/$albumartist/$album%aunique{}/$track $title
    edit_type: edits/$edit_type/$artist/$title


# --------------- Performance ---------------

threaded: yes
timeout: 5.0

# --------------- Search ---------------

format_item: $artist - $album - $title
format_album: $albumartist - $album
time_format: '%Y-%m-%d %H:%M:%S'
format_raw_length: no

sort_album: albumartist+ album+
sort_item: artist+ album+ disc+ track+
sort_case_insensitive: yes

# --------------- Autotagger ---------------

musicbrainz:
    enabled: yes
    host: musicbrainz.org
    https: no
    ratelimit: 1
    ratelimit_interval: 1.0
    searchlimit: 6
    extra_tags: []
    genres: yes
    external_ids:
        discogs: no
        bandcamp: no
        spotify: no
        deezer: no
        beatport: yes
        tidal: no

match:
    strong_rec_thresh: 0.04
    medium_rec_thresh: 0.25
    rec_gap_thresh: 0.25
    max_rec:
        missing_tracks: strong
        unmatched_tracks: medium
        track_title: medium
        track_length: medium
    distance_weights:
        source: 2.0
        artist: 3.0
        album: 3.0
        media: 1.0
        mediums: 1.0
        year: 1.0
        country: 0.5
        label: 0.0
        catalognum: 0.5
        albumdisambig: 0.0
        album_id: 5.0
        tracks: 2.0
        missing_tracks: 0.0
        unmatched_tracks: 0.0
        track_title: 3.0
        track_artist: 2.0
        track_index: 1.0
        track_length: 2.0
        track_id: 5.0
    preferred:
        original_year: yes
        media: ['Digital Media', 'CD']
        country: ['XW', 'None', 'US', 'CA']
        albumtype: ['album']
    ignored: []
    required: [year]
    ignored_media: []
    track_length_grace: 3
    track_length_max: 10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant