|  | @@ -1,11 +1,11 @@
 | 
	
		
			
				|  |  |  # 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 dateutil import parser
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # about
 | 
	
		
			
				|  |  |  about = {
 | 
	
	
		
			
				|  | @@ -26,38 +26,29 @@ url = 'https://api.mixcloud.com/'
 | 
	
		
			
				|  |  |  search_url = url + 'search/?{query}&type=cloudcast&limit=10&offset={offset}'
 | 
	
		
			
				|  |  |  iframe_src = "https://www.mixcloud.com/widget/iframe/?feed={url}"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -# do search-request
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  def request(query, params):
 | 
	
		
			
				|  |  |      offset = (params['pageno'] - 1) * 10
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      params['url'] = search_url.format(query=urlencode({'q': query}), offset=offset)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      return params
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -# get response from search-request
 | 
	
		
			
				|  |  |  def response(resp):
 | 
	
		
			
				|  |  |      results = []
 | 
	
		
			
				|  |  | +    search_res = resp.json()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    search_res = loads(resp.text)
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    # parse results
 | 
	
		
			
				|  |  |      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'])
 | 
	
		
			
				|  |  | +        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
 |