Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Jules Lasne (jlasne)
    @Seluj78
    I tried creating a new python3 venv, running the install and it doesnt work :/
    mkdir spotdl
    
    cd spotdl
    
    virtualenv venv -p python3 && source venv/bin/activate
    
    pip3 install spotdl
    
    spotdl -f . -s https://open.spotify.com/playlist/3ILqun6rklSSxFfURiMWJG\?si\=VMVZ45dXRYSYU9FfTs9NhQ
    Traceback (most recent call last):
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotify_tools.py", line 33, in wrapper
        assert spotify
    AssertionError
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/Library/Frameworks/Python.framework/Versions/3.8/bin/spotdl", line 10, in <module>
        sys.exit(main())
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotdl.py", line 63, in main
        match_args()
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotdl.py", line 27, in match_args
        track_dl = downloader.Downloader(raw_song=track)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/downloader.py", line 98, in __init__
        self.content, self.meta_tags = youtube_tools.match_video_and_metadata(raw_song)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/youtube_tools.py", line 79, in match_video_and_metadata
        meta_tags = spotify_tools.generate_metadata(track)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotify_tools.py", line 38, in wrapper
        return func(*args, **kwargs)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotdl/spotify_tools.py", line 48, in generate_metadata
        meta_tags = spotify.track(raw_song)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotipy/client.py", line 222, in track
        trid = self._get_id('track', track_id)
      File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/spotipy/client.py", line 856, in _get_id
        self._warn('expected id of type %s but found type %s %s',
    TypeError: _warn() takes 2 positional arguments but 5 were given
    I'm lost there
    It's trying to assert a global it just created, idk why it'd throw that error
    Jules Lasne (jlasne)
    @Seluj78
    rn trying to uninstall every pip packages i have and see if it's a version thing
    Nope, same error
    Jules Lasne (jlasne)
    @Seluj78
    Seems like the try/catch you are doing raises another exception
    line 857 of spotipy/client.py
    Jules Lasne (jlasne)
    @Seluj78
    Same error using the docker image
    Jules Lasne (jlasne)
    @Seluj78
    @ritiek or others ?
    Jules Lasne (jlasne)
    @Seluj78
    Alright, workaround is to use -p to convert playlist to text file then use -l to download the list
    Bjarnthor Egilsson
    @thecatatafish
    Hey guys, I found a bug in spotdl and I would like to fix it myself. Coming from data science I'm quite familiar with scripting in Python but working on a package is somewhat new to me. I'm stuck on just running the spotdl.py file from a debugger, the self imports are not working. Is anyone up for getting me started?
    Bjarnthor Egilsson
    @thecatatafish
    Never mind, I figured it out. It was a PyCharm thing
    Andrea Giurgola
    @Shqrp
    @ritiek you should add metadata support for this https://github.com/meik97/XSpotify
    i saw it in your starred list
    and i think this would be a hella cool
    i might aswell try it
    i mean try to do a merge of the teo
    *two
    Ritiek Malhotra
    @ritiek
    @TheLifeGamingYT I see! Unfortuantely, I couldn't get XSpotify to work and had no time to debug
    Vaarelsauce
    @Vaarelsauce
    Hi, is there a way to find my playlist.txt file after doing spotdl --playlist <link> ?
    A few of my songs that I'm trying to download, say for example song #1 and song #22, says "No video found on Youtube for a given search", and I'm wondering if I could find the names of those invalidated songs so that I can manually download them myself?
    I would greatly appreciate it if there's a way to do that @ritiek thanks! :)
    Vaarelsauce
    @Vaarelsauce
    UPDATE: Just found it simply by searching it in my windows search lol, I feel so dumb
    Balázs M.
    @balika0105
    Hello everyone! I'm having an issue with installing the program and I thought I might find help here
    I use pip3 install spotdl -U then it prints out a lot of stuff but afterwards I can't use it
    spotdl: command not found
    Ritiek Malhotra
    @ritiek
    @balika0105 See #451.
    Alwyn John
    @alwyn023_twitter
    spotdl is not working
    Ritiek Malhotra
    @ritiek
    why not?
    jared.
    @jaredbrown50_twitter
    Hi Ritiek and everyone, first I want to say that I love the program and have used it successfully to download my spotify playlist in the past. I am currently trying to use the overwrite command to skip duplicate tracks that I have previously downloaded to my music folder, however, when I call --overwrite skip, it doesn't actually skip any of the tracks. It checks, says that no duplicates are found and continues to download. I also tried to use the --skip command by creating a .txt file of all of the files within my music folder and added passed that file to my command as well. However, again it checked the file, said 0 duplicates were found and continues. Is there something that I am missing or doing wrong to get this functionality to work properly?
    Let me know if you have any suggestions for me to get this to work! Thank you for your help in advance
    jared.
    @jaredbrown50_twitter
    ^Regarding my last post, I have a feeling I might have spoke too soon, I am checking my download folder and not finding any duplicates despite the what the program was saying at the beginning of a run, the program possibly didn't find duplicates before but when trying to download to the folder the prompt triggered. Is there any way to skip the songs on the front end instead of the back end of the program run so that it doesn't take as long to run a long playlist?
    Ritiek Malhotra
    @ritiek

    Is there any way to skip the songs on the front end instead of the back end of the program run so that it doesn't take as long to run a long playlist?

    Nope, sorry. For every track being dowloaded, the tool needs to first fetch its corresponding metadata from Spotify and YouTube. Once it has this metadata, only then it can generate a filename for the current track being downloaded. If it now checks that a file with this filename already exists beforehand then the --overwrite option comes into play.

    jared.
    @jaredbrown50_twitter
    No problem, that definitely makes sense, thanks for the clarification and explanation! Hope all is well!
    Eliqui
    @Eliqui
    hey there, i didn't use spotdl in quite a while. today i wanted to download a track updated spotdl to version 1.2.6 python to version 3.8 and pip to 20.1. But now i run into this error:

    ERROR: Signature extraction failed: Traceback (most recent call last):
    File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1384, in _decrypt_signature
    func = self._extract_signature_function(
    File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1262, in _extract_signature_function
    raise ExtractorError('Cannot identify player %r' % player_url)
    youtube_dl.utils.ExtractorError: Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
    (caused by ExtractorError("Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
    Traceback (most recent call last):
    File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1384, in _decrypt_signature
    func = self._extract_signature_function(
    File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1262, in _extract_signature_function
    raise ExtractorError('Cannot identify player %r' % player_url)
    youtube_dl.utils.ExtractorError: Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "d:\programme\python\lib\site-packages\youtube_dl\YoutubeDL.py", line 796, in extract_info
    ie_result = ie.extract(url)
    File "d:\programme\python\lib\site-packages\youtube_dl\extractor\common.py", line 530, in extract
    ie_result = self._real_extract(url)
    File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 2047, in _real_extract
    signature = self._decrypt_signature(
    File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1394, in _decrypt_signature
    raise ExtractorError(
    youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
    File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1384, in _decrypt_signature
    func = self._extract_signature_function(
    File "d:\programme\python\lib\site-packages\youtube_dl\extractor\youtube.py", line 1262, in _extract_signature_function
    raise ExtractorError('Cannot identify player %r' % player_url)
    youtube_dl.utils.ExtractorError: Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
    (caused by ExtractorError("Cannot identify player 'https://www.youtube.com/s/player/c31ba6fc/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.")); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure

    Ritiek Malhotra
    @ritiek
    @Eliqui You need to update your youtube-dl
    like it says in the error message
    Eliqui
    @Eliqui
    somehow it didn't work last time. now it did. thx anyway
    Eliqui
    @Eliqui
    but there's one thing in the new version which was better in the old one. in older versions it showed you the actual name of the video it downloaded. since it's the wrong one sometimes it was easier to identify it. if you download a whole playlist it can be quite timeconsuming to do this by listening to all of them. Also i get better search results if it's looking for:' {artist} - {track-name} topic ' instead of 'lyrics'
    Ritiek Malhotra
    @ritiek
    I see. I'll change it to also display the video title then
    Triss-droid
    @Triss-droid

    Traceback (most recent call last):
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\command_line\core.py", line 346, in download_tracks_from_file
    metadata = search_metadata.on_youtube_and_spotify()
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\metadata_search.py", line 89, in on_youtube_and_spotify
    metadata = caller()
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\metadata_search.py", line 186, in _on_youtube_and_spotify_for_type_spotify
    youtube_metadata = self.providers["youtube"].from_url(youtube_video["url"])
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\metadata\providers\youtube.py", line 230, in from_url
    content = pytube.YouTube(url)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\pytube__main.py", line 91, in init
    self.prefetch()
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\pytube\
    main__.py", line 162, in prefetch
    self.watch_html = request.get(url=self.watch_url)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\pytube\request.py", line 36, in get
    return _execute_request(url).read().decode("utf-8")
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\pytube\request.py", line 24, in _execute_request
    return urlopen(request) # nosec
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 532, in open
    response = meth(req, response)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 564, in error
    result = self._call_chain(args)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 504, in _call_chain
    result = func(
    args)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 756, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 532, in open
    response = meth(req, response)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 642, in http_response
    'http', request, response, code, msg, hdrs)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 570, in error
    return self._call_chain(args)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 504, in _call_chain
    result = func(
    args)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\urllib\request.py", line 650, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
    urllib.error.HTTPError: HTTP Error 429: Too Many Requests

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "main", mod_spec)
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
    File "C:\Users\d4red\AppData\Local\Programs\Python\Python36\Scripts\spotdl.exe__main.py", line 9, in <module>
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\command_line\
    main__.py", line 48, in main
    spotdl.match_arguments()
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\command_line\core.py", line 79, in match_arguments
    self.arguments["list"],
    File "c:\users\d4red\appdata\local\programs\python\python36\lib\site-packages\spotdl\command_line\cor

    I got that thing when I tried to download my playlist
    Yesterday it was fine but today it ain't working
    How do I fix it
    @ritiek any help?
    Ritiek Malhotra
    @ritiek
    How many tracks have you been downloading per day? I just wanna confirm if this has something to do with us moving to PyTube (and dropping Pafy) as more people have been filing reports on this specific HTTP Error 429: Too Many Requests error lately. Check out #745. This is YouTube rate-limiting us and should fix itself after waiting for a while.
    Triss-droid
    @Triss-droid
    My playlist was about 700 songs
    Guess I need to divide it a bit
    Thanks