vmassuchetto / beets-ydl

Download audio from youtube-dl sources and import into beets
43 stars 9 forks source link

TypeError: get() takes from 1 to 2 positional arguments but 3 were given #5

Open daviddavo opened 4 years ago

daviddavo commented 4 years ago

The following error occurs when trying to use ydl with the following config file

[ydl] Calling youtube-dl
Traceback (most recent call last):
  File "/usr/bin/beet", line 11, in <module>
    load_entry_point('beets==1.4.9', 'console_scripts', 'beet')()
  File "/usr/lib/python3.8/site-packages/beets/ui/__init__.py", line 1266, in main
    _raw_main(args)
  File "/usr/lib/python3.8/site-packages/beets/ui/__init__.py", line 1253, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/usr/lib/python3.8/site-packages/beetsplug/ydl.py", line 101, in ydl_func
    outer_class.youtubedl(lib, opts, arg)
  File "/usr/lib/python3.8/site-packages/beetsplug/ydl.py", line 153, in youtubedl
    y = YoutubeDL(youtubedl_config)
  File "/usr/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 353, in __init__
    self._screen_file = [sys.stdout, sys.stderr][params.get('logtostderr', False)]
TypeError: get() takes from 1 to 2 positional arguments but 3 were given

The config file has this

ydl:
    download: True
    split_files: True
    import: True
    youtubedl_options:
        cookiefile: "~/.cookies.txt"
spfeifer222 commented 4 years ago

My versions and used plugins:

beets version 1.4.9
Python version 3.7.3
plugins: acousticbrainz, bpd, chroma, convert, duplicates, edit, fetchart, fromfilename, fuzzy, info, lastgenre, lyrics, play, random, replaygain, smartplaylist, usertag, web, ydl

I confirm this error using this configuration settings:

ydl:
    download: True         # download files from sources after getting information,
    split_files: True       # try to split album files into separate tracks,
    import: True           # import files on youtube-dl after downloading and splitting,
    youtubedl_options: 
        format: 'best'
        postprocessors:
            key: 'FFmpegExtractAudio'
            preferredcodec: 'mp3'
            preferredquality: '128'
            nopostoverwrites: True  # youtube-dl available options -- https://git.io/fN0c7
    urls: []

First I upgraded all dependencies, but only yoututbe-dl was out of date. If you need the confiuration settings for the other plugins, please ask!

ikorobus commented 3 years ago

Can confirm it too. config.yaml:

import:
    move: yes

plugins: ydl

ydl:
    youtubedl_options:
        format: 'best'
        postprocessors:
            key: 'FFmpegExtractAudio'
            preferredcodec: 'mp3'
            preferredquality: '320'
            nopostoverwrites: True
    download: True         
    split_files: True       
    import: True           
    youtubedl_options: {}  
    urls: []