| 123456789101112131415161718192021222324252627282930313233343536373839404142 | # SPDX-License-Identifier: AGPL-3.0-or-later"""Podcast Index"""from urllib.parse import quote_plusfrom datetime import datetimeabout = {    'website': 'https://podcastindex.org',    'official_api_documentation': None,  # requires an account    'use_official_api': False,    'require_api_key': False,    'results': 'JSON',}categories = []base_url = "https://podcastindex.org"def request(query, params):    params['url'] = f"{base_url}/api/search/byterm?q={quote_plus(query)}"    return paramsdef response(resp):    results = []    json = resp.json()    for result in json['feeds']:        results.append(            {                'url': result['link'],                'title': result['title'],                'content': result['description'],                'thumbnail': result['image'],                'publishedDate': datetime.utcfromtimestamp(result['newestItemPubdate']),                'metadata': f"{result['author']}, {result['episodeCount']} episodes",            }        )    return results
 |