| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | # SPDX-License-Identifier: AGPL-3.0-or-later"""Open Semantic Search"""from json import loadsfrom urllib.parse import quotefrom dateutil import parser# aboutabout = {    "website": 'https://www.opensemanticsearch.org/',    "wikidata_id": None,    "official_api_documentation": 'https://www.opensemanticsearch.org/dev',    "use_official_api": True,    "require_api_key": False,    "results": 'JSON',}base_url = 'http://localhost:8983/solr/opensemanticsearch/'search_string = 'query?q={query}'def request(query, params):    search_path = search_string.format(        query=quote(query),    )    params['url'] = base_url + search_path    return paramsdef response(resp):    results = []    data = loads(resp.text)    docs = data.get('response', {}).get('docs', [])    for current in docs:        item = {}        item['url'] = current['id']        item['title'] = current['title_txt_txt_en']        if current.get('content_txt'):            item['content'] = current['content_txt'][0]        item['publishedDate'] = parser.parse(current['file_modified_dt'])        results.append(item)    return results
 |