soundcloud.py 971 B

12345678910111213141516171819202122232425262728293031
  1. from json import loads
  2. from urllib import urlencode
  3. categories = ['music']
  4. guest_client_id = 'b45b1aa10f1ac2941910a7f0d10f8e28'
  5. url = 'https://api.soundcloud.com/'
  6. search_url = url + 'search?{query}&facet=model&limit=20&offset={offset}&linked_partitioning=1&client_id='+guest_client_id # noqa
  7. paging = True
  8. def request(query, params):
  9. offset = (params['pageno'] - 1) * 20
  10. params['url'] = search_url.format(query=urlencode({'q': query}),
  11. offset=offset)
  12. return params
  13. def response(resp):
  14. global base_url
  15. results = []
  16. search_res = loads(resp.text)
  17. for result in search_res.get('collection', []):
  18. if result['kind'] in ('track', 'playlist'):
  19. title = result['title']
  20. content = result['description']
  21. results.append({'url': result['permalink_url'],
  22. 'title': title,
  23. 'content': content})
  24. return results