mopidy / mopidy-soundcloud

Mopidy extension for playing music from SoundCloud
https://mopidy.com/ext/soundcloud/
MIT License
185 stars 59 forks source link

Only the "Stream" section is working. Every thing else is empty. #91

Closed rkkoszewski closed 7 years ago

rkkoszewski commented 7 years ago

Hi, there seems to be some issue with the SoundCloud plugin. I created the user token, and everything seems fine when mopidy is starting. The only thing is that when I use the SoundCloud plugin, only the "Stream"section returns some result and seems to work properly. I can play those songs properly.

Explore doesnt work;

ERROR    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 155, in browse
    return self.list_explore()
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/library.py", line 97, in list_explore
    for eid, name in enumerate(self.backend.remote.get_explore()):
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/soundcloud.py", line 116, in get_explore
    explore = self.get_explore_categories()
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/soundcloud.py", line 57, in _memoized
    value = self.func(*args)
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/soundcloud.py", line 113, in get_explore_categories
    return self._get('explore/categories', 'api-v2').get('music')
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/soundcloud.py", line 235, in _get
    res.raise_for_status()
  File "/home/rkkoszewski/.local/lib/python2.7/site-packages/requests/models.py", line 834, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
HTTPError: 404 Client Error: Not Found

Liked doesn't work:

ERROR    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'

Following doesnt work. And seems to show no errors.

Groups doesn't work:

ERROR    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 163, in browse
    return self.list_groups()
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/library.py", line 108, in list_groups
    for group in self.backend.remote.get_groups():
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/soundcloud.py", line 139, in get_groups
    return self._get('me/groups.json')
  File "/usr/lib/python2.7/dist-packages/mopidy_soundcloud/soundcloud.py", line 235, in _get
    res.raise_for_status()
  File "/home/rkkoszewski/.local/lib/python2.7/site-packages/requests/models.py", line 834, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
HTTPError: 404 Client Error: Not Found

Sets doesn't work. No errors shown.

I'm not sure what is causing those errors. Is the Mopidy-Soundcloud plugin still in development or has it been abandoned?

Michcioperz commented 7 years ago

As you can see in the first paragraph of the README, current maintainers are looking for someone to pick it up and bring it back to its former glory

ninaspitfire commented 7 years ago

This issue is mostly resolved by #83. Unfortunately, that pull request has been open for a long time.

This project seems to be stuck in limbo. There are people who are willing to make contributions (including me), but it all seems to be dependent on someone committing to becoming the dreaded "maintainer".

kingosticks commented 7 years ago

It's really not a big deal to take over as maintainer. You just need to use the project regularly, have a vague understanding of the Soundcloud API and python, and be willing to stick around for a bit. I personally don't meet that first criteria but by the sounds of it some of you do so please give it a go, it's not a life-long commitment.

ninaspitfire commented 7 years ago

Oh, that's good news. Please, forgive me if I sounded overly dramatic. I was strongly considering putting my hand up for maintainer duty, but got a little confused reading some comments from @ticosax, who is reluctant to take the title (which is absolutely his choice, and I respect that).

I came to the repo tonight with plans to start hacking on this issue, but then found #83, where most of the work is done. If I were the maintainer, I think my first priority would be to merge (or close) the existing PRs we already have.

adamcik commented 7 years ago

I've gone ahead and invited @jarpy to the "mopidy-team" which will allow him to commit to this repo. I had a quick chat with @jodal and since neither of us have much time to spare it's well past the time to give more people a chance, even if they don't choose to officially take on a maintainer mantle. If other people are interested in owning more of the plugins without becoming "the maintainer" do reach out.

If someone wants to go the full on maintainer route, it would basically entail expanding the access to making pypi releases. We should probably update either the main mopidy docs or the website with these "policy" changes as hidden away in an unrelated issue in plugin repo isn't the best place for this :-)

ninaspitfire commented 7 years ago

That's really great! Thank you so much for the trust and openness here. 🌻

I'm really keen now to start getting the open pull requests merged. That should give me a good feel for how far down the maintainer rabbit hole I want to go. I probably will want to go the whole way, but I really think this new, less binary approach is an excellent idea.

Thanks again.

ninaspitfire commented 7 years ago

83 is now merged, which resolves this issue. We should probably arrange to make a release on PyPI soon.

In the meantime, anyone who wishes to be bold and install the current bleading-edge code could choose to:

pip install --upgrade git+git://github.com/mopidy/mopidy-soundcloud.git

Please provide feedback if you do.

rkkoszewski commented 7 years ago

Works like a charm now. Thank you!!!