|  | @@ -1,11 +1,11 @@
 | 
											
												
													
														|  |  # SPDX-License-Identifier: AGPL-3.0-or-later
 |  |  # SPDX-License-Identifier: AGPL-3.0-or-later
 | 
											
												
													
														|  | -"""
 |  | 
 | 
											
												
													
														|  | - Mixcloud (Music)
 |  | 
 | 
											
												
													
														|  | 
 |  | +# lint: pylint
 | 
											
												
													
														|  | 
 |  | +"""Mixcloud (Music)
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  """
 |  |  """
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -from json import loads
 |  | 
 | 
											
												
													
														|  | -from dateutil import parser
 |  | 
 | 
											
												
													
														|  |  from urllib.parse import urlencode
 |  |  from urllib.parse import urlencode
 | 
											
												
													
														|  | 
 |  | +from dateutil import parser
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  # about
 |  |  # about
 | 
											
												
													
														|  |  about = {
 |  |  about = {
 | 
											
										
											
												
													
														|  | @@ -26,38 +26,29 @@ url = 'https://api.mixcloud.com/'
 | 
											
												
													
														|  |  search_url = url + 'search/?{query}&type=cloudcast&limit=10&offset={offset}'
 |  |  search_url = url + 'search/?{query}&type=cloudcast&limit=10&offset={offset}'
 | 
											
												
													
														|  |  iframe_src = "https://www.mixcloud.com/widget/iframe/?feed={url}"
 |  |  iframe_src = "https://www.mixcloud.com/widget/iframe/?feed={url}"
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -# do search-request
 |  | 
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  def request(query, params):
 |  |  def request(query, params):
 | 
											
												
													
														|  |      offset = (params['pageno'] - 1) * 10
 |  |      offset = (params['pageno'] - 1) * 10
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |      params['url'] = search_url.format(query=urlencode({'q': query}), offset=offset)
 |  |      params['url'] = search_url.format(query=urlencode({'q': query}), offset=offset)
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |      return params
 |  |      return params
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -# get response from search-request
 |  | 
 | 
											
												
													
														|  |  def response(resp):
 |  |  def response(resp):
 | 
											
												
													
														|  |      results = []
 |  |      results = []
 | 
											
												
													
														|  | 
 |  | +    search_res = resp.json()
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    search_res = loads(resp.text)
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -    # parse results
 |  | 
 | 
											
												
													
														|  |      for result in search_res.get('data', []):
 |  |      for result in search_res.get('data', []):
 | 
											
												
													
														|  | -        title = result['name']
 |  | 
 | 
											
												
													
														|  | -        url = result['url']
 |  | 
 | 
											
												
													
														|  | -        content = result['user']['name']
 |  | 
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +        r_url = result['url']
 | 
											
												
													
														|  |          publishedDate = parser.parse(result['created_time'])
 |  |          publishedDate = parser.parse(result['created_time'])
 | 
											
												
													
														|  | 
 |  | +        res = {
 | 
											
												
													
														|  | 
 |  | +            'url': r_url,
 | 
											
												
													
														|  | 
 |  | +            'title': result['name'],
 | 
											
												
													
														|  | 
 |  | +            'iframe_src': iframe_src.format(url=r_url),
 | 
											
												
													
														|  | 
 |  | +            'img_src': result['pictures']['medium'],
 | 
											
												
													
														|  | 
 |  | +            'publishedDate': publishedDate,
 | 
											
												
													
														|  | 
 |  | +            'content': result['user']['name'],
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        results.append(res)
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -        # append result
 |  | 
 | 
											
												
													
														|  | -        results.append(
 |  | 
 | 
											
												
													
														|  | -            {
 |  | 
 | 
											
												
													
														|  | -                'url': url,
 |  | 
 | 
											
												
													
														|  | -                'title': title,
 |  | 
 | 
											
												
													
														|  | -                'iframe_src': iframe_src.format(url=url),
 |  | 
 | 
											
												
													
														|  | -                'publishedDate': publishedDate,
 |  | 
 | 
											
												
													
														|  | -                'content': content,
 |  | 
 | 
											
												
													
														|  | -            }
 |  | 
 | 
											
												
													
														|  | -        )
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -    # return results
 |  | 
 | 
											
												
													
														|  |      return results
 |  |      return results
 |