Code Monkey home page Code Monkey logo

spotifyripper's People

Contributors

robbeofficial avatar zen-python avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spotifyripper's Issues

Does not handle special char " in title names

spotify:track:1jBcfkNUcPzMGYKgGKVoKE

Will lead to:
Loading track...
Loaded track: Big Fun - Original 12" Mix
ripping Big Fun - Original 12" Mix.mp3 ...Playing
/bin/sh: 1: Syntax error: Unterminated quoted string
.Traceback (most recent call last):
File "./jbripper.py", line 142, in
ripper.connect()
File "/usr/local/lib/python2.7/dist-packages/spotify/manager/session.py", line 81, in connect
self.loop(self.session) # returns on logged out
File "/usr/local/lib/python2.7/dist-packages/spotify/manager/session.py", line 97, in loop
session, *message['args'])
File "./jbripper.py", line 128, in music_delivery_safe
rip(session, frames, frame_size, num_frames, sample_type, sample_rate, channels)
File "./jbripper.py", line 46, in rip
pipe.write(frames);
IOError: [Errno 32] Broken pipe
^C

"IOError: Broken Pipe" due to Unicode chars in filename?

Processing this specific URI, I will always get an "IOError: [Errno 32] Broken Pipe":
spotify:track:1uFiJH3Z6hlmLmZZRbJR3F

I first thought it could be because of this Unicode char å in the title but processing another URI like spotify:track:0m0bUigqixm0yCfujB9gqf with the same char in the title works.

I can't explain this behaviour.

Unable to install spotify module on macOS

Any ideas?

Traceback (most recent call last):
  File "./jbripper.py", line 6, in <module>
    from jukebox import Jukebox, container_loaded
  File "/Users/bruno/spotifyripper/jukebox.py", line 10, in <module>
    from spotify import ArtistBrowser, Link, ToplistBrowser, SpotifyError
ImportError: cannot import name ToplistBrowser

Linux Mint No module named spotify

When I try to run spotifyripper, I get the following error, although I installed all like in the readme.
Nothing helped in this #1 thread.

Traceback (most recent call last):
  File "./jbripper.py", line 5, in <module>
    from spotify import Link, Image
ImportError: No module named spotify

What can I do?

Version:
Linux version 3.16.0-38-generic (buildd@allspice) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015

libspotify deprecation

since lilspotify has been deprecated and is no longer downloadable (along with the app key) is there any plan to update this tool? it's so useful

eyeD3 -Q

In the code you're calling eyeD3 with -Q parameter. At least on my machine the -Q flag is not available and eyeD3 won't execute properly. Result: no album art, etc.

Remove -Q flag (no idea what this should do as I even didn't find it in the man page) and the code works.

cmd = "eyeD3" +
" --add-image cover.jpg:FRONT_COVER" +
" -t "" + title + """ +
" -a "" + artist + """ +
" -A "" + album + """ +
" -n " + str(num_track) +
" -Y " + str(year) +
" -Q " +
" "" + directory + mp3file + """
shell(cmd)

Installation process

Here is my install history, cleaned up and documented for howto/wiki/readme purposes.

Installed on Debian 6.0 Linux 2.6.32-5-686 i686 GNU/Linux

# Go home!
cd ~

# Install libspotify
wget https://developer.spotify.com/download/libspotify/libspotify-12.1.51-Linux-i686-release.tar.gz
tar vzxf libspotify-12.1.51-Linux-i686-release.tar.gz
cd libspotify-12.1.51-Linux-i686-release/
sudo make install prefix=/usr/local
cd ..

# Fetch spotifyripper
wget https://github.com/robbeofficial/spotifyripper/archive/master.zip
unzip master.zip

# Install pyspotify-dev
wget https://github.com/mopidy/pyspotify/tarball/develop#egg=pyspotify-dev
tar vzxf develop

# Install mopidy apt source
wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -
sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/mopidy.list

# Copy the jukebox dependency
cd spotifyripper-master/
cp ../mopidy-pyspotify-ef75737/examples/jukebox.py .
mv /YOUR/PATH/TO/spotify_appkey.key .
cd ..

# Install dependencies and tools: SEE NOTE BELOW
sudo apt-get update
sudo apt-get install mopidy python-spotify lame eyed3

# Let it rip
cd spotifyripper-master/
screen ./jbripper.py <username> <password> <playlist|track>


# NOTES:
# - eye3d (0.6.18-1) from APT is incompatible

Introduce folder for ripped files

Hi,

no issue but a very simply feature request. I'd like that the downloaded files are put in a subfolder instead of "throwing" them all into the folder where the python code lies.

Simply change

directory = os.getcwd() + "/" + track.artists()[0].name() + "/" + track.album().name() + "/"

to something like

directory = os.getcwd() + "/downloaded/" + track.artists()[0].name() + "/" + track.album().name() + "/"

Problems with utf-8

The ripping does not work with utf8 chars in the titles names like:
spotify:track:5szGZic8oCtJfbmDlBpPBG
spotify:track:3FKWz6BvxV0W8t7ykdzzTP
This is also not fixed in @AndersTornkvist #4 or his fork (But atleast skipped).

spotifyripper seems to crash when track name contains quotes

steps to reproduce:
execute the following command:

$ LD_LIBRARY_PATH=/usr/local/lib/ PYTHONPATH=/usr/lib/python2.7/site-packages python2 ./jbripper.py user passwd spotify:track:7y2YUIyCuVhBidENVT0068

This generates the following error:

[...]
Loading track...
Loaded track: Love Me Like You Do - From "Fifty Shades Of Grey"
ripping Love Me Like You Do - From "Fifty Shades Of Grey".mp3 ...Playing
lame: excess arg Shades
.Traceback (most recent call last):
  File "./jbripper.py", line 152, in <module>
    ripper.connect()
  File "/usr/lib/python2.7/site-packages/spotify/manager/session.py", line 81, in connect
    self.loop(self.session) # returns on logged out
  File "/usr/lib/python2.7/site-packages/spotify/manager/session.py", line 97, in loop
    session, *message['args'])
  File "./jbripper.py", line 138, in music_delivery_safe
    rip(session, frames, frame_size, num_frames, sample_type, sample_rate, channels)
  File "./jbripper.py", line 54, in rip
    pipe.write(frames);
IOError: [Errno 32] Broken pipe

It only happens for tracks with quotes in its names.

Error syncing playlist

I work once i had to abort it and then it won't work again.
Sorry wrong github here, just ignore

File Quality

even if it supposed that spotify streams at 320, my files bitrate are around 268.

Playlist ripping skips 2nd track

Hi, i'm getting this weird issue where the playlist would rip every second file (rips the first, the 2nd file would attempt but generates a 14kb file, rips the 3rd time, 4th file would generate a 14kb file, repeat).

I'm not quite sure if its the modules installed or if its something on this.

Authentication with unknown password

Hey,
Just wondering if you have any suggestions on how to get this to work if your Spotify account is authenticated with Facebook. I can't create a Spotify account with the email I'm already using for this account, and I can't reset my password because it says i'm authenticated with Facebook.

Any suggestions?

Broken as of pyspotify v2

Looks like the changes in pyspotify 2 have broken this, just a heads up for when pypi eventually updates :)

installation instruction

Hi,
is there a installation instruction for windows? or ubuntu 12.04? the old one doesnt work

Deprecated?

Am I right to say that since Libspotify is deprecated by Spotify, this no longer works?

Encoding problem with filenames

in run
self.ripper.load_track(track)
File "/home/david/spotifyripper/jukebox.py", line 380, in load_track
print "Loaded track: %s" % track.name()
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 32: ordinal not in range(128)

Consider using UTF8, or a conversion table for illegal characters

For reference this is the tune: http://open.spotify.com/track/4OhB7UiZX5sQLrkF6guuEp

Bitrate or format

is it possible to get files in higher bitrate or other formats from the api?

Duplicate track names not supported

I was ripping this album /album/2wfWqYWTrCifvbZt20rImU which oddly contains multiple same titled tracks, the script ends up overwriting tracks that are named the same(if they're in the same folder)

I ended up band aiding my own fix by appending a UUID to mp3file in rip_init() ( although this breaks rip_id3() )
A proper fix would be something like appending the track number or something else unique(that isn't gibberish)

Error when trying to rip track

Logging in, please wait...
Logged in!
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "./jbripper.py", line 101, in run
link = Link.from_string(sys.argv[3])
SpotifyError: Failed to get link from a Spotify URI

IOError: [Errno 32] Broken pipe

when trying to download song spotify:track/0Ug6x0wl0Sjmombbtckutr

i get the following error

Logging in, please wait...
Logged in!
Loading track...
Loaded track: A Brand New Day - The Wiz/Soundtrack Version
ripping A Brand New Day - The Wiz/Soundtrack Version.mp3 ...Playing
Can't init outfile '/home/klm21904/Workspace/spotifyripper/Diana Ross/The Wiz/A Brand New Day - The Wiz/Soundtrack Version.mp3'
.Traceback (most recent call last):
  File "./jbripper.py", line 152, in <module>
    ripper.connect()
  File "/usr/local/lib/python2.7/dist-packages/spotify/manager/session.py", line 81, in connect
    self.loop(self.session) # returns on logged out
  File "/usr/local/lib/python2.7/dist-packages/spotify/manager/session.py", line 97, in loop
    session, *message['args'])
  File "./jbripper.py", line 138, in music_delivery_safe
    rip(session, frames, frame_size, num_frames, sample_type, sample_rate, channels)
  File "./jbripper.py", line 54, in rip
    pipe.write(frames);
IOError: [Errno 32] Broken pipe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.