Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Verified Commit 46b851df authored by Nicolas Gelot's avatar Nicolas Gelot
Browse files

Fix image_proxify for json API and media templates

parent 6b4aef3f
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
<a href="{{ result.img_src }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %} data-url="{{ result.url }}" id="show_image_view_modal" class="img-thumb-link">
<a href="{{ result.img_src }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %} data-url="{{ result.url }}" id="show_image_view_modal" class="img-thumb-link">
    <img src="{% if result.thumbnail_src %} {{ result.thumbnail_src }}{% else %}{{ result.img_src }}{% endif %}" alt="{{ result.title|striptags }}" title="{{ result.title|striptags }}" class="img-thumbnail">
    <img src="{% if result.thumbnail_src %}{{ image_proxify(result.thumbnail_src) }}{% else %}{{ image_proxify(result.img_src) }}{% endif %}" alt="{{ result.title|striptags }}" title="{{ result.title|striptags }}" class="img-thumbnail">
    <div class="hidden">{{ result.content }}</div>
    <div class="hidden">{{ result.content }}</div>
</a>
</a>
+2 −2
Original line number Original line Diff line number Diff line
@@ -2,7 +2,7 @@


<div class="result-content">
<div class="result-content">
    <a class="thumbnail" href="{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>
    <a class="thumbnail" href="{{ result.url }}" {% if results_on_new_tab %}target="_blank" rel="noopener noreferrer"{% else %}rel="noreferrer"{% endif %}>
        <img src="{{ result.thumbnail }}" alt="{{ result.title|striptags }} {{ result.engine }}" />
        <img src="{{ image_proxify(result.thumbnail) }}" alt="{{ result.title|striptags }} {{ result.engine }}" />
    </a>
    </a>
    <div>
    <div>
        {{ result_header(result, favicons, False) }}
        {{ result_header(result, favicons, False) }}
+1 −1
Original line number Original line Diff line number Diff line
@@ -718,7 +718,7 @@ def search():


    if output_format == 'json':
    if output_format == 'json':


        response = webutils.get_json_response(search_query, result_container)
        response = webutils.get_json_response(search_query, result_container, image_proxify)
        return Response(response, mimetype='application/json')
        return Response(response, mimetype='application/json')


    if output_format == 'csv':
    if output_format == 'csv':
+17 −5
Original line number Original line Diff line number Diff line
@@ -11,7 +11,7 @@ import inspect
import itertools
import itertools
import json
import json
from datetime import datetime, timedelta
from datetime import datetime, timedelta
from typing import Iterable, List, Tuple, Dict, TYPE_CHECKING
from typing import Callable, Iterable, List, Tuple, Dict, TYPE_CHECKING


from io import StringIO
from io import StringIO
from codecs import getincrementalencoder
from codecs import getincrementalencoder
@@ -158,13 +158,25 @@ class JSONEncoder(json.JSONEncoder):
        return super().default(o)
        return super().default(o)




def get_json_response(sq: SearchQuery, rc: ResultContainer) -> str:
def get_json_response(sq: SearchQuery, rc: ResultContainer, fip: Callable) -> str:
    """Returns the JSON string of the results to a query (``application/json``)"""
    """Returns the JSON string of the results to a query (``application/json``)"""
    results = rc.number_of_results
    nb_results = rc.number_of_results
    results = rc.get_ordered_results()

    for result in results:
        if "thumbnail" in result:
            result["thumbnail"] = fip(result["thumbnail"])

        if "thumbnail_src" in result:
            result["thumbnail_src"] = fip(result["thumbnail_src"])

        if "img_src" in result:
            result["img_src"] = fip(result["img_src"])

    x = {
    x = {
        'query': sq.query,
        'query': sq.query,
        'number_of_results': results,
        'number_of_results': nb_results,
        'results': rc.get_ordered_results(),
        'results': results,
        'answers': list(rc.answers),
        'answers': list(rc.answers),
        'corrections': list(rc.corrections),
        'corrections': list(rc.corrections),
        'infoboxes': rc.infoboxes,
        'infoboxes': rc.infoboxes,