Browse Source

Preferences URL in preferences

Revert translation changes

Auto-save preferences from URL

Preferences URL in preferences

Fix that

Preferences URL in preferences
Julian Fairfax 3 years ago
parent
commit
7d443dfea3
2 changed files with 10 additions and 0 deletions
  1. 5 0
      searx/templates/simple/preferences.html
  2. 5 0
      searx/webapp.py

+ 5 - 0
searx/templates/simple/preferences.html

@@ -406,6 +406,11 @@
        <pre>{{ url_for('index', _external=True) }}?preferences={{ preferences_url_params|e }}{% raw %}&amp;q=%s{% endraw %}</pre>
        <pre>{{ url_for('index', _external=True) }}?preferences={{ preferences_url_params|e }}{% raw %}&amp;q=%s{% endraw %}</pre>
      </div>
      </div>
      <p class="small_font">{{ _('Note: specifying custom settings in the search URL can reduce privacy by leaking data to the clicked result sites.') }}</p>
      <p class="small_font">{{ _('Note: specifying custom settings in the search URL can reduce privacy by leaking data to the clicked result sites.') }}</p>
+     <h4>{{ _('URL to restore your preferences in another browser') }} :</h4>
+     <div class="selectable_url">
+       <pre>{{ url_for('preferences', _external=True) }}?preferences={{ preferences_url_params|e }}&amp;save=1</pre>
+     </div>
+     <p class="small_font">{{ _('Specifying custom settings in the preferences URL can be used to sync preferences across devices.') }}</p>
   {{ tab_footer() }}
   {{ tab_footer() }}
 
 
 {{ tabs_close() }}
 {{ tabs_close() }}

+ 5 - 0
searx/webapp.py

@@ -971,6 +971,11 @@ def preferences():
     # pylint: disable=too-many-locals, too-many-return-statements, too-many-branches
     # pylint: disable=too-many-locals, too-many-return-statements, too-many-branches
     # pylint: disable=too-many-statements
     # pylint: disable=too-many-statements
 
 
+    # save preferences using the link the /preferences?preferences=...&save=1
+    if request.args.get('save') == '1':
+        resp = make_response(redirect(url_for('index', _external=True)))
+        return request.preferences.save(resp)
+
     # save preferences
     # save preferences
     if request.method == 'POST':
     if request.method == 'POST':
         resp = make_response(redirect(url_for('index', _external=True)))
         resp = make_response(redirect(url_for('index', _external=True)))