Преглед изворни кода

Merge pull request #536 from kvch/general-minor-refactors

General minor refactors
Adam Tauber пре 9 година
родитељ
комит
11c2262055

+ 2
- 2
searx/languages.py Прегледај датотеку

20
     ("ar_XA", "Arabic", "Arabia"),
20
     ("ar_XA", "Arabic", "Arabia"),
21
     ("bg_BG", "Bulgarian", "Bulgaria"),
21
     ("bg_BG", "Bulgarian", "Bulgaria"),
22
     ("cs_CZ", "Czech", "Czech Republic"),
22
     ("cs_CZ", "Czech", "Czech Republic"),
23
-    ("de_DE", "German", "Germany"),
24
     ("da_DK", "Danish", "Denmark"),
23
     ("da_DK", "Danish", "Denmark"),
25
     ("de_AT", "German", "Austria"),
24
     ("de_AT", "German", "Austria"),
26
     ("de_CH", "German", "Switzerland"),
25
     ("de_CH", "German", "Switzerland"),
26
+    ("de_DE", "German", "Germany"),
27
     ("el_GR", "Greek", "Greece"),
27
     ("el_GR", "Greek", "Greece"),
28
     ("en_AU", "English", "Australia"),
28
     ("en_AU", "English", "Australia"),
29
     ("en_CA", "English", "Canada"),
29
     ("en_CA", "English", "Canada"),
58
     ("ko_KR", "Korean", "Korea"),
58
     ("ko_KR", "Korean", "Korea"),
59
     ("lt_LT", "Lithuanian", "Lithuania"),
59
     ("lt_LT", "Lithuanian", "Lithuania"),
60
     ("lv_LV", "Latvian", "Latvia"),
60
     ("lv_LV", "Latvian", "Latvia"),
61
-    ("oc_OC", "Occitan", "Occitan"),
62
     ("nb_NO", "Norwegian", "Norway"),
61
     ("nb_NO", "Norwegian", "Norway"),
63
     ("nl_BE", "Dutch", "Belgium"),
62
     ("nl_BE", "Dutch", "Belgium"),
64
     ("nl_NL", "Dutch", "Netherlands"),
63
     ("nl_NL", "Dutch", "Netherlands"),
64
+    ("oc_OC", "Occitan", "Occitan"),
65
     ("pl_PL", "Polish", "Poland"),
65
     ("pl_PL", "Polish", "Poland"),
66
     ("pt_BR", "Portuguese", "Brazil"),
66
     ("pt_BR", "Portuguese", "Brazil"),
67
     ("pt_PT", "Portuguese", "Portugal"),
67
     ("pt_PT", "Portuguese", "Portugal"),

+ 5
- 5
searx/query.py Прегледај датотеку

28
 class Query(object):
28
 class Query(object):
29
     """parse query"""
29
     """parse query"""
30
 
30
 
31
-    def __init__(self, query, blocked_engines):
31
+    def __init__(self, query, disabled_engines):
32
         self.query = query
32
         self.query = query
33
-        self.blocked_engines = []
33
+        self.disabled_engines = []
34
 
34
 
35
-        if blocked_engines:
36
-            self.blocked_engines = blocked_engines
35
+        if disabled_engines:
36
+            self.disabled_engines = disabled_engines
37
 
37
 
38
         self.query_parts = []
38
         self.query_parts = []
39
         self.engines = []
39
         self.engines = []
107
                     self.engines.extend({'category': prefix,
107
                     self.engines.extend({'category': prefix,
108
                                          'name': engine.name}
108
                                          'name': engine.name}
109
                                         for engine in categories[prefix]
109
                                         for engine in categories[prefix]
110
-                                        if (engine.name, prefix) not in self.blocked_engines)
110
+                                        if (engine.name, prefix) not in self.disabled_engines)
111
 
111
 
112
             if query_part[0] == '!':
112
             if query_part[0] == '!':
113
                 self.specific = True
113
                 self.specific = True

+ 4
- 5
searx/search.py Прегледај датотеку

140
         self.lang = 'all'
140
         self.lang = 'all'
141
 
141
 
142
         # set blocked engines
142
         # set blocked engines
143
-        self.blocked_engines = request.preferences.engines.get_disabled()
143
+        self.disabled_engines = request.preferences.engines.get_disabled()
144
 
144
 
145
         self.result_container = ResultContainer()
145
         self.result_container = ResultContainer()
146
         self.request_data = {}
146
         self.request_data = {}
167
 
167
 
168
         # parse query, if tags are set, which change
168
         # parse query, if tags are set, which change
169
         # the serch engine or search-language
169
         # the serch engine or search-language
170
-        query_obj = Query(self.request_data['q'], self.blocked_engines)
170
+        query_obj = Query(self.request_data['q'], self.disabled_engines)
171
         query_obj.parse_query()
171
         query_obj.parse_query()
172
 
172
 
173
         # set query
173
         # set query
227
             # using user-defined default-configuration which
227
             # using user-defined default-configuration which
228
             # (is stored in cookie)
228
             # (is stored in cookie)
229
             if not self.categories:
229
             if not self.categories:
230
-                cookie_categories = request.cookies.get('categories', '')
231
-                cookie_categories = cookie_categories.split(',')
230
+                cookie_categories = request.preferences.get_value('categories')
232
                 for ccateg in cookie_categories:
231
                 for ccateg in cookie_categories:
233
                     if ccateg in categories:
232
                     if ccateg in categories:
234
                         self.categories.append(ccateg)
233
                         self.categories.append(ccateg)
244
                 self.engines.extend({'category': categ,
243
                 self.engines.extend({'category': categ,
245
                                      'name': engine.name}
244
                                      'name': engine.name}
246
                                     for engine in categories[categ]
245
                                     for engine in categories[categ]
247
-                                    if (engine.name, categ) not in self.blocked_engines)
246
+                                    if (engine.name, categ) not in self.disabled_engines)
248
 
247
 
249
         # remove suspended engines
248
         # remove suspended engines
250
         self.engines = [e for e in self.engines
249
         self.engines = [e for e in self.engines

+ 1
- 1
searx/templates/courgette/preferences.html Прегледај датотеку

109
                     <td>{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})&lrm;</td>
109
                     <td>{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})&lrm;</td>
110
                     <td>{{ _(categ) }}</td>
110
                     <td>{{ _(categ) }}</td>
111
                     <td class="engine_checkbox">
111
                     <td class="engine_checkbox">
112
-                        <input type="checkbox" id="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}" name="engine_{{ search_engine.name }}__{{ categ }}"{% if (search_engine.name, categ) in blocked_engines %} checked="checked"{% endif %} />
112
+                        <input type="checkbox" id="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}" name="engine_{{ search_engine.name }}__{{ categ }}"{% if (search_engine.name, categ) in disabled_engines %} checked="checked"{% endif %} />
113
                         <label class="allow" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
113
                         <label class="allow" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
114
                         <label class="deny" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Block') }}</label>
114
                         <label class="deny" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Block') }}</label>
115
                     </td>
115
                     </td>

+ 1
- 1
searx/templates/default/preferences.html Прегледај датотеку

97
                 <td>{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})&lrm;</td>
97
                 <td>{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})&lrm;</td>
98
                 <td>{{ _(categ) }}</td>
98
                 <td>{{ _(categ) }}</td>
99
                 <td class="engine_checkbox">
99
                 <td class="engine_checkbox">
100
-                    <input type="checkbox" id="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}" name="engine_{{ search_engine.name }}__{{ categ }}"{% if (search_engine.name, categ) in blocked_engines %} checked="checked"{% endif %} />
100
+                    <input type="checkbox" id="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}" name="engine_{{ search_engine.name }}__{{ categ }}"{% if (search_engine.name, categ) in disabled_engines %} checked="checked"{% endif %} />
101
                     <label class="allow" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
101
                     <label class="allow" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
102
                     <label class="deny" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Block') }}</label>
102
                     <label class="deny" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Block') }}</label>
103
                 </td>
103
                 </td>

+ 2
- 2
searx/templates/oscar/preferences.html Прегледај датотеку

157
                             {% if not search_engine.private %}
157
                             {% if not search_engine.private %}
158
                                 <tr>
158
                                 <tr>
159
                                     {% if not rtl %}
159
                                     {% if not rtl %}
160
-                                    <td>{{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in blocked_engines) }}</td>
160
+                                    <td>{{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in disabled_engines) }}</td>
161
                                     <th>{{ search_engine.name }}</th>
161
                                     <th>{{ search_engine.name }}</th>
162
 				    <td>{{ shortcuts[search_engine.name] }}</td>
162
 				    <td>{{ shortcuts[search_engine.name] }}</td>
163
 				    <td><input type="checkbox" {{ "checked" if search_engine.safesearch==True else ""}} readonly="readonly" disabled="disabled"></td>
163
 				    <td><input type="checkbox" {{ "checked" if search_engine.safesearch==True else ""}} readonly="readonly" disabled="disabled"></td>
169
 				    <td><input type="checkbox" {{ "checked" if search_engine.safesearch==True else ""}} readonly="readonly" disabled="disabled"></td>
169
 				    <td><input type="checkbox" {{ "checked" if search_engine.safesearch==True else ""}} readonly="readonly" disabled="disabled"></td>
170
 				    <td>{{ shortcuts[search_engine.name] }}</td>
170
 				    <td>{{ shortcuts[search_engine.name] }}</td>
171
                                     <th>{{ search_engine.name }}</th>
171
                                     <th>{{ search_engine.name }}</th>
172
-                                    <td>{{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in blocked_engines) }}</td>
172
+                                    <td>{{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in disabled_engines) }}</td>
173
                                     {% endif %}
173
                                     {% endif %}
174
                                 </tr>
174
                                 </tr>
175
                             {% endif %}
175
                             {% endif %}

+ 1
- 1
searx/templates/pix-art/preferences.html Прегледај датотеку

60
             <tr>
60
             <tr>
61
                 <td>{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})&lrm;</td>
61
                 <td>{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})&lrm;</td>
62
                 <td class="engine_checkbox">
62
                 <td class="engine_checkbox">
63
-                    <input type="checkbox" id="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}" name="engine_{{ search_engine.name }}__{{ categ }}"{% if (search_engine.name, categ) in blocked_engines %} checked="checked"{% endif %} />
63
+                    <input type="checkbox" id="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}" name="engine_{{ search_engine.name }}__{{ categ }}"{% if (search_engine.name, categ) in disabled_engines %} checked="checked"{% endif %} />
64
                     <label class="allow" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
64
                     <label class="allow" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Allow') }}</label>
65
                     <label class="deny" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Block') }}</label>
65
                     <label class="deny" for="engine_{{ categ|replace(' ', '_') }}_{{ search_engine.name|replace(' ', '_') }}">{{ _('Block') }}</label>
66
                 </td>
66
                 </td>

+ 17
- 21
searx/webapp.py Прегледај датотеку

74
     import pyasn1  # NOQA
74
     import pyasn1  # NOQA
75
 except ImportError:
75
 except ImportError:
76
     logger.critical("The pyopenssl, ndg-httpsclient, pyasn1 packages have to be installed.\n"
76
     logger.critical("The pyopenssl, ndg-httpsclient, pyasn1 packages have to be installed.\n"
77
-                    "Some HTTPS connections will failed")
77
+                    "Some HTTPS connections will fail")
78
 
78
 
79
 
79
 
80
 static_path, templates_path, themes =\
80
 static_path, templates_path, themes =\
110
     for (dirpath, dirnames, filenames) in os.walk(theme_img_path):
110
     for (dirpath, dirnames, filenames) in os.walk(theme_img_path):
111
         global_favicons[indice].extend(filenames)
111
         global_favicons[indice].extend(filenames)
112
 
112
 
113
+# used when translating category names
113
 _category_names = (gettext('files'),
114
 _category_names = (gettext('files'),
114
                    gettext('general'),
115
                    gettext('general'),
115
                    gettext('music'),
116
                    gettext('music'),
128
 def get_locale():
129
 def get_locale():
129
     locale = request.accept_languages.best_match(settings['locales'].keys())
130
     locale = request.accept_languages.best_match(settings['locales'].keys())
130
 
131
 
131
-    if settings['ui'].get('default_locale'):
132
-        locale = settings['ui']['default_locale']
133
-
134
-    if request.cookies.get('locale', '') in settings['locales']:
135
-        locale = request.cookies.get('locale', '')
132
+    if request.preferences.get_value('locale') != '':
133
+        locale = request.preferences.get_value('locale')
136
 
134
 
137
     if 'locale' in request.args\
135
     if 'locale' in request.args\
138
        and request.args['locale'] in settings['locales']:
136
        and request.args['locale'] in settings['locales']:
248
     if url.startswith('//'):
246
     if url.startswith('//'):
249
         url = 'https:' + url
247
         url = 'https:' + url
250
 
248
 
251
-    if not settings['server'].get('image_proxy') and not request.cookies.get('image_proxy'):
249
+    if not request.preferences.get_value('image_proxy'):
252
         return url
250
         return url
253
 
251
 
254
     hash_string = url + settings['server']['secret_key']
252
     hash_string = url + settings['server']['secret_key']
259
 
257
 
260
 
258
 
261
 def render(template_name, override_theme=None, **kwargs):
259
 def render(template_name, override_theme=None, **kwargs):
262
-    blocked_engines = request.preferences.engines.get_disabled()
263
-    autocomplete = request.preferences.get_value('autocomplete')
260
+    disabled_engines = request.preferences.engines.get_disabled()
264
 
261
 
265
-    nonblocked_categories = set(category for engine_name in engines
266
-                                for category in engines[engine_name].categories
267
-                                if (engine_name, category) not in blocked_engines)
262
+    enabled_categories = set(category for engine_name in engines
263
+                             for category in engines[engine_name].categories
264
+                             if (engine_name, category) not in disabled_engines)
268
 
265
 
269
     if 'categories' not in kwargs:
266
     if 'categories' not in kwargs:
270
         kwargs['categories'] = ['general']
267
         kwargs['categories'] = ['general']
271
         kwargs['categories'].extend(x for x in
268
         kwargs['categories'].extend(x for x in
272
                                     sorted(categories.keys())
269
                                     sorted(categories.keys())
273
                                     if x != 'general'
270
                                     if x != 'general'
274
-                                    and x in nonblocked_categories)
271
+                                    and x in enabled_categories)
275
 
272
 
276
     if 'all_categories' not in kwargs:
273
     if 'all_categories' not in kwargs:
277
         kwargs['all_categories'] = ['general']
274
         kwargs['all_categories'] = ['general']
290
     if not kwargs['selected_categories']:
287
     if not kwargs['selected_categories']:
291
         cookie_categories = request.preferences.get_value('categories')
288
         cookie_categories = request.preferences.get_value('categories')
292
         for ccateg in cookie_categories:
289
         for ccateg in cookie_categories:
293
-            if ccateg in categories:
294
-                kwargs['selected_categories'].append(ccateg)
290
+            kwargs['selected_categories'].append(ccateg)
295
 
291
 
296
     if not kwargs['selected_categories']:
292
     if not kwargs['selected_categories']:
297
         kwargs['selected_categories'] = ['general']
293
         kwargs['selected_categories'] = ['general']
298
 
294
 
299
     if 'autocomplete' not in kwargs:
295
     if 'autocomplete' not in kwargs:
300
-        kwargs['autocomplete'] = autocomplete
296
+        kwargs['autocomplete'] = request.preferences.get_value('autocomplete')
301
 
297
 
302
     if get_locale() in rtl_locales and 'rtl' not in kwargs:
298
     if get_locale() in rtl_locales and 'rtl' not in kwargs:
303
         kwargs['rtl'] = True
299
         kwargs['rtl'] = True
483
         request_data = request.args
479
         request_data = request.args
484
 
480
 
485
     # set blocked engines
481
     # set blocked engines
486
-    blocked_engines = request.preferences.engines.get_disabled()
482
+    disabled_engines = request.preferences.engines.get_disabled()
487
 
483
 
488
     # parse query
484
     # parse query
489
-    query = Query(request_data.get('q', '').encode('utf-8'), blocked_engines)
485
+    query = Query(request_data.get('q', '').encode('utf-8'), disabled_engines)
490
     query.parse_query()
486
     query.parse_query()
491
 
487
 
492
     # check if search query is set
488
     # check if search query is set
502
     # normal autocompletion results only appear if max 3 inner results returned
498
     # normal autocompletion results only appear if max 3 inner results returned
503
     if len(raw_results) <= 3 and completer:
499
     if len(raw_results) <= 3 and completer:
504
         # get language from cookie
500
         # get language from cookie
505
-        language = request.cookies.get('language')
501
+        language = request.preferences.get_value('language')
506
         if not language or language == 'all':
502
         if not language or language == 'all':
507
             language = 'en'
503
             language = 'en'
508
         else:
504
         else:
544
     # render preferences
540
     # render preferences
545
     image_proxy = request.preferences.get_value('image_proxy')
541
     image_proxy = request.preferences.get_value('image_proxy')
546
     lang = request.preferences.get_value('language')
542
     lang = request.preferences.get_value('language')
547
-    blocked_engines = request.preferences.engines.get_disabled()
543
+    disabled_engines = request.preferences.engines.get_disabled()
548
     allowed_plugins = request.preferences.plugins.get_enabled()
544
     allowed_plugins = request.preferences.plugins.get_enabled()
549
 
545
 
550
     # stats for preferences page
546
     # stats for preferences page
572
                   language_codes=language_codes,
568
                   language_codes=language_codes,
573
                   engines_by_category=categories,
569
                   engines_by_category=categories,
574
                   stats=stats,
570
                   stats=stats,
575
-                  blocked_engines=blocked_engines,
571
+                  disabled_engines=disabled_engines,
576
                   autocomplete_backends=autocomplete_backends,
572
                   autocomplete_backends=autocomplete_backends,
577
                   shortcuts={y: x for x, y in engine_shortcuts.items()},
573
                   shortcuts={y: x for x, y in engine_shortcuts.items()},
578
                   themes=themes,
574
                   themes=themes,