mopidy-soundcloud icon indicating copy to clipboard operation
mopidy-soundcloud copied to clipboard

Soundcloud playing problem

Open JayBeeDe opened this issue 8 years ago • 3 comments

Hi, I have followed the instructions regarding the soundcloud authentication (I just installed it). As the token didin't appear on Google Chrome, I get it with Ms Edge browser. I write it on the configuration file (/etc/mopidy/mopidy.conf) for mopidy as background service. I can listen music from soundcloud, but only in the folder explore (not other folder, which are directly related to my soundcloud account). When I browse an other folder (than explore), no music appears and I get the following message in the log file:

root@raspberrypi:/var/log/mopidy # cat mopidy.log
2016-03-25 09:47:54,516 ERROR [545:Core-7] mopidy.core.library: SoundCloudBackend backend caused an exception.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/mopidy/core/library.py", line 19, in _backend_error_handling
    yield
  File "/usr/lib/python2.7/dist-packages/mopidy/core/library.py", line 112, in _browse
    result = backend.library.browse(uri).get()
  File "/usr/lib/python2.7/dist-packages/pykka/threading.py", line 52, in get
    compat.reraise(*self._data['exc_info'])
  File "/usr/lib/python2.7/dist-packages/pykka/compat.py", line 12, in reraise
    exec('raise tp, value, tb')
  File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 201, in _actor_loop
    response = self._handle_receive(message)
  File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 295, in _handle_receive
    return callee(*message['args'], **message['kwargs'])
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/library.py", line 166, in browse
    return self.list_liked()
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/library.py", line 74, in list_liked
    for data in self.backend.remote.get_user_liked():
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/soundcloud.py", line 177, in get_user_liked
    liked = self._get('e1/me/likes.json?limit=1000')
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/soundcloud.py", line 235, in _get
    res.raise_for_status()
  File "/usr/lib/python2.7/dist-packages/requests/models.py", line 825, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
HTTPError: 503 Server Error: Service Not Available

Does the problem come from soundcloud authentication? Is is just a soung that I liked which make all crash? Is it possible to get more verbose logs? Is it just a bug which will be soon fixed?

Here is my soundcloud profile : https://soundcloud.com/jay-bee-de

JayBeeDe avatar Mar 25 '16 09:03 JayBeeDe

Are you still getting this issue? this looks more like a temporary server issue but I could be wrong

Philipose avatar Mar 27 '16 02:03 Philipose

Hi,

I have tried another attempt after reboot, it doesn't work but I got a different error:

When I access the folder "likes": [This is in bold :) ]

2016-03-27 12:56:32,138 INFO [566:MpdSession-25] mopidy.mpd.session: New MPD connection from [::ffff:10.0.0.14]:63672
2016-03-27 12:56:36,287 INFO [566:SoundCloudBackend-4] mopidy_soundcloud.soundcloud: 'Bitter:Sweet - Dirty Laundry' can't be streamed from SoundCloud
2016-03-27 12:56:36,293 INFO [566:SoundCloudBackend-4] mopidy_soundcloud.soundcloud: 'Wankelmut & Emma Louise - My Head Is A Jungle (MK Remix)' can't be streamed from SoundCloud

[End bold :) ]

2016-03-27 12:56:36,461 ERROR [566:Core-8] mopidy.core.library: SoundCloudBackend backend caused an exception.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/mopidy/core/library.py", line 19, in _backend_error_handling
    yield
  File "/usr/lib/python2.7/dist-packages/mopidy/core/library.py", line 112, in _browse
    result = backend.library.browse(uri).get()
  File "/usr/lib/python2.7/dist-packages/pykka/threading.py", line 52, in get
    compat.reraise(*self._data['exc_info'])
  File "/usr/lib/python2.7/dist-packages/pykka/compat.py", line 12, in reraise
    exec('raise tp, value, tb')
  File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 201, in _actor_loop
    response = self._handle_receive(message)
  File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 295, in _handle_receive
    return callee(*message['args'], **message['kwargs'])
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/library.py", line 166, in browse
    return self.list_liked()
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/library.py", line 78, in list_liked
    logger.debug('Adding liked track %s to vfs' % data.name)
AttributeError: 'list' object has no attribute 'name'

When I try to access the folder "Following":

2016-03-27 12:57:36,996 ERROR [566:Core-8] mopidy.core.library: SoundCloudBackend backend caused an exception.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/mopidy/core/library.py", line 19, in _backend_error_handling
    yield
  File "/usr/lib/python2.7/dist-packages/mopidy/core/library.py", line 112, in _browse
    result = backend.library.browse(uri).get()
  File "/usr/lib/python2.7/dist-packages/pykka/threading.py", line 52, in get
    compat.reraise(*self._data['exc_info'])
  File "/usr/lib/python2.7/dist-packages/pykka/compat.py", line 12, in reraise
    exec('raise tp, value, tb')
  File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 201, in _actor_loop
    response = self._handle_receive(message)
  File "/usr/lib/python2.7/dist-packages/pykka/actor.py", line 295, in _handle_receive
    return callee(*message['args'], **message['kwargs'])
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/library.py", line [...]

[This is in bold :) ]

[...]147, in browse
    return self.list_user_follows()
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/library.py", line 89, in list_user_follows
    for (name, user_id) in self.backend.remote.get_followings():
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/soundcloud.py", line 148, in get_followings
    name = playlist.get('username')
AttributeError: 'unicode' object has no attribute 'get'

[End bold :) ]

Text marked in bold show the differences. The bold header of the "likes" folder is probably due to the fact that I just used mopidy-soundcloud for the first time after reboot.

It seems that the following songs are probably the cause, I'll try to remove them and see if it solves: 'Bitter:Sweet - Dirty Laundry' 'Wankelmut & Emma Louise - My Head Is A Jungle (MK Remix)'

JayBeeDe avatar Mar 27 '16 11:03 JayBeeDe

i haven't had the liked issue as of yet (possibly because I think I'm on an older version), however I've definitely had the "Following" issue.

It looks like that fix was implemented once and then reverted accidentally but here is my local change

In soundcloud.py I changed

for playlist in self._get('me/followings.json?limit=60')

Around line 149 in the get_followings function to the following:

collection = self._get('me/followings.json?limit=60').get('collection') for playlist in collection:

I may try to contribute this change myself, I've just never done a git contribution, don't know if there's a "safe" way to do it. I can try and look at your liked issues later

Philipose avatar Mar 27 '16 13:03 Philipose