| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | # SPDX-License-Identifier: AGPL-3.0-or-later""" Creative Commons search engine (Images)"""from json import loadsfrom urllib.parse import urlencodeabout = {    "website": 'https://search.creativecommons.org/',    "wikidata_id": None,    "official_api_documentation": 'https://api.creativecommons.engineering/v1/',    "use_official_api": True,    "require_api_key": False,    "results": 'JSON',}categories = ['images']paging = Truenb_per_page = 20base_url = 'https://api.creativecommons.engineering/v1/images?'search_string = '&page={page}&page_size={nb_per_page}&format=json&{query}'def request(query, params):    search_path = search_string.format(        query=urlencode({'q': query}),        nb_per_page=nb_per_page,        page=params['pageno'])    params['url'] = base_url + search_path    return paramsdef response(resp):    results = []    json_data = loads(resp.text)    for result in json_data['results']:        results.append({'url': result['foreign_landing_url'],                        'title': result['title'],                        'img_src': result['url'],                        'template': 'images.html'})    return results
 |