From cc8b537e3446444cba4196b73bc49a7ef4a6def3 Mon Sep 17 00:00:00 2001 From: Daniel Kukula Date: Mon, 6 May 2024 07:33:24 +0100 Subject: [PATCH] [mod] package.html template: additional links (a python dict) - Closes: https://github.com/searxng/searxng/issues/3456 --- docs/dev/engines/engine_overview.rst | 4 ++++ searx/engines/hex.py | 17 ++++++++--------- .../simple/result_templates/packages.html | 10 +++++++++- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/docs/dev/engines/engine_overview.rst b/docs/dev/engines/engine_overview.rst index 091d217c0..0a57cc640 100644 --- a/docs/dev/engines/engine_overview.rst +++ b/docs/dev/engines/engine_overview.rst @@ -563,3 +563,7 @@ type. * - source_code_url - :py:class:`str` - the location of the project's source code + + * - links + - :py:class:`dict` + - additional links in the form of ``{'link_name': 'http://example.com'}`` diff --git a/searx/engines/hex.py b/searx/engines/hex.py index febd36d73..28b536d97 100644 --- a/searx/engines/hex.py +++ b/searx/engines/hex.py @@ -33,23 +33,22 @@ def response(resp): results = [] for package in resp.json(): meta = package["meta"] - publishedDate = package.get("inserted_at") - if publishedDate: - publishedDate = parser.parse(publishedDate) - tags = meta.get("licenses", []) + published_date = package.get("updated_at") + published_date = parser.parse(published_date) + links = meta.get("links") results.append( { "template": "packages.html", - "url": package["url"], + "url": package["html_url"], "title": package["name"], "package_name": package["name"], "content": meta.get("description", ""), "version": meta.get("latest_version"), "maintainer": ", ".join(meta.get("maintainers", [])), - "publishedDate": publishedDate, - "tags": tags, - "homepage": meta.get("links", {}).get("homepage"), - "source_code_url": meta.get("links", {}).get("github"), + "publishedDate": published_date, + "license_name": ", ".join(meta.get("licenses", [])), + "homepage": package["docs_html_url"], + "links": links, } ) diff --git a/searx/templates/simple/result_templates/packages.html b/searx/templates/simple/result_templates/packages.html index da7644a29..8608621ba 100644 --- a/searx/templates/simple/result_templates/packages.html +++ b/searx/templates/simple/result_templates/packages.html @@ -47,7 +47,7 @@ {%- endif -%} {%- endif -%} - {%- if result.homepage or result.source_code_url -%} + {%- if result.homepage or result.source_code_url or result.links -%}
{{- '' -}} {{ _('Project') }} {{- '' -}} @@ -58,6 +58,14 @@ {%- if result.source_code_url -%} {{ _('Source code') }} {%- endif -%} + {%- if result.links %} + {%- for name, link in result.links.items() -%} + {% if not loop.first or result.homepage or result.source_code_url %} | {% endif %} + + {{- _(name) -}} + + {%- endfor -%} + {%- endif -%} {{- '' -}}
{%- endif -%}