Browse Source

Merge pull request #1023 from austinhuang0131/master

[fix] return correct plugin path
Alexandre Flament 3 years ago
parent
commit
d1334beb4f
2 changed files with 9 additions and 6 deletions
  1. 1 1
      searx/templates/oscar/macros.html
  2. 8 5
      searx/webapp.py

+ 1 - 1
searx/templates/oscar/macros.html

@@ -5,7 +5,7 @@
 
 <!-- Draw favicon -->
 {% macro draw_favicon(favicon) -%}
-    <img width="32" height="32" class="favicon" src="{{ url_for('static', filename='themes/oscar/img/icons/' + favicon + '.png') }}" alt="{{ favicon }}" />
+    <img width="32" height="32" class="favicon" src="{{ url_for('static', filename='img/icons/' + favicon + '.png') }}" alt="{{ favicon }}" />
 {%- endmacro %}
 
 {%- macro result_link(url, title, classes='', id='') -%}

+ 8 - 5
searx/webapp.py

@@ -348,13 +348,16 @@ def get_result_template(theme_name: str, template_name: str):
 def custom_url_for(endpoint: str, override_theme: Optional[str] = None, **values):
     suffix = ""
     if endpoint == 'static' and values.get('filename'):
-        theme_name = get_current_theme_name(override=override_theme)
-        filename_with_theme = "themes/{}/{}".format(theme_name, values['filename'])
-        values['filename'] = filename_with_theme
-        if get_setting('ui.static_use_hash', False):
+        file_hash = static_files.get(values['filename'])
+        if not file_hash:
+            # try file in the current theme
+            theme_name = get_current_theme_name(override=override_theme)
+            filename_with_theme = "themes/{}/{}".format(theme_name, values['filename'])
             file_hash = static_files.get(filename_with_theme)
             if file_hash:
-                suffix = "?" + file_hash
+                values['filename'] = filename_with_theme
+        if get_setting('ui.static_use_hash') and file_hash:
+            suffix = "?" + file_hash
     if endpoint == 'info' and 'locale' not in values:
         locale = request.preferences.get_value('locale')
         if _INFO_PAGES.get_page(values['pagename'], locale) is None: