| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | 
							- # SPDX-License-Identifier: AGPL-3.0-or-later
 
- """Engine for Il Post, a largely independent online Italian newspaper.
 
- To use this engine add the following entry to your engines
 
- list in ``settings.yml``:
 
- .. code:: yaml
 
-   - name: il post
 
-     engine: il_post
 
-     shortcut: pst
 
-     disabled: false
 
- """
 
- from urllib.parse import urlencode
 
- from searx.result_types import EngineResults
 
- engine_type = "online"
 
- language_support = False
 
- categories = ["news"]
 
- paging = True
 
- page_size = 10
 
- time_range_support = True
 
- time_range_args = {"month": "pub_date:ultimi_30_giorni", "year": "pub_date:ultimo_anno"}
 
- search_api = "https://api.ilpost.org/search/api/site_search/?"
 
- about = {
 
-     "website": "https://www.ilpost.it",
 
-     "wikidata_id": "Q3792882",
 
-     "official_api_documentation": None,
 
-     "use_official_api": True,
 
-     "require_api_key": False,
 
-     "results": "JSON",
 
-     "language": "it",
 
- }
 
- def request(query, params):
 
-     query_params = {
 
-         "qs": query,
 
-         "pg": params["pageno"],
 
-         "sort": "date_d",
 
-         "filters": "ctype:articoli",
 
-     }
 
-     if params["time_range"]:
 
-         if params["time_range"] not in time_range_args:
 
-             return None
 
-         query_params["filters"] += f";{time_range_args.get(params['time_range'], 'pub_date:da_sempre')}"
 
-     params["url"] = search_api + urlencode(query_params)
 
-     return params
 
- def response(resp) -> EngineResults:
 
-     res = EngineResults()
 
-     json_data = resp.json()
 
-     for result in json_data["docs"]:
 
-         res.add(
 
-             res.types.MainResult(
 
-                 url=result["link"],
 
-                 title=result["title"],
 
-                 content=result.get("summary", ""),
 
-                 thumbnail=result.get("image"),
 
-             )
 
-         )
 
-     return res
 
 
  |