soundcloud.py 951 B

123456789101112131415161718192021222324252627282930
  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. results = []
  15. search_res = loads(resp.text)
  16. for result in search_res.get('collection', []):
  17. if result['kind'] in ('track', 'playlist'):
  18. title = result['title']
  19. content = result['description']
  20. results.append({'url': result['permalink_url'],
  21. 'title': title,
  22. 'content': content})
  23. return results