[enh] oscar theme: display engine response times in the preferences
This commit is contained in:
		
							parent
							
								
									e19eeeefa0
								
							
						
					
					
						commit
						d4d2dd9cb3
					
				| @ -134,21 +134,48 @@ | |||||||
|                     <div class="tab-pane{% if loop.first %} active{% endif %} active_if_nojs" id="tab_engine_{{ categ|replace(' ', '_') }}"> |                     <div class="tab-pane{% if loop.first %} active{% endif %} active_if_nojs" id="tab_engine_{{ categ|replace(' ', '_') }}"> | ||||||
|                         <div class="container-fluid"> |                         <div class="container-fluid"> | ||||||
|                         <fieldset> |                         <fieldset> | ||||||
|  |                           <div class="table-responsive"> | ||||||
|  | 			  <table class="table table-hover table-condensed table-striped"> | ||||||
|  | 			        <tr> | ||||||
|  |                                     {% if not rtl %} | ||||||
|  | 				    <th>{{ _("Allow") }}</th> | ||||||
|  | 				    <th>{{ _("Engine name") }}</th> | ||||||
|  | 				    <th>{{ _("Shortcut") }}</th> | ||||||
|  | 				    <th>{{ _("SafeSearch") }}</th> | ||||||
|  | 				    <th>{{ _("Avg. time") }}</th> | ||||||
|  | 				    <th>{{ _("Max time") }}</th> | ||||||
|  |                                     {% else %} | ||||||
|  | 				    <th>{{ _("Max time") }}</th> | ||||||
|  | 				    <th>{{ _("Avg. time") }}</th> | ||||||
|  | 				    <th>{{ _("SafeSearch") }}</th> | ||||||
|  | 				    <th>{{ _("Shortcut") }}</th> | ||||||
|  | 				    <th>{{ _("Engine name") }}</th> | ||||||
|  | 				    <th>{{ _("Allow") }}</th> | ||||||
|  |                                     {% endif %} | ||||||
|  |                                 </tr> | ||||||
|                         {% for search_engine in engines_by_category[categ] %} |                         {% for search_engine in engines_by_category[categ] %} | ||||||
|                             {% if not search_engine.private %} |                             {% if not search_engine.private %} | ||||||
|                                 <div class="row"> |                                 <tr> | ||||||
|                                     {% if not rtl %} |                                     {% if not rtl %} | ||||||
|                                     <div class="col-xs-6 col-sm-4 col-md-4">{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})</div> |                                     <td>{{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in blocked_engines) }}</td> | ||||||
|  |                                     <th>{{ search_engine.name }}</th> | ||||||
|  | 				    <td>{{ shortcuts[search_engine.name] }}</td> | ||||||
|  | 				    <td><input type="checkbox" {{ "checked" if search_engine.safesearch==True else ""}} readonly="readonly" disabled="disabled"></td> | ||||||
|  | 				    <td class="{{ 'danger' if stats[search_engine.name]['warn_time'] else '' }}">{{ 'N/A' if stats[search_engine.name].time==None else stats[search_engine.name].time }}</td> | ||||||
|  | 				    <td class="{{ 'danger' if stats[search_engine.name]['warn_timeout'] else '' }}">{{ search_engine.timeout }}</td> | ||||||
|  |                                     {% else %} | ||||||
|  | 				    <td class="{{ 'danger' if stats[search_engine.name]['warn_timeout'] else '' }}">{{ search_engine.timeout }}</td> | ||||||
|  | 				    <td class="{{ 'danger' if stats[search_engine.name]['warn_time'] else '' }}">{{ 'N/A' if stats[search_engine.name].time==None else stats[search_engine.name].time }}</td> | ||||||
|  | 				    <td><input type="checkbox" {{ "checked" if search_engine.safesearch==True else ""}} readonly="readonly" disabled="disabled"></td> | ||||||
|  | 				    <td>{{ shortcuts[search_engine.name] }}</td> | ||||||
|  |                                     <th>{{ search_engine.name }}</th> | ||||||
|  |                                     <td>{{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in blocked_engines) }}</td> | ||||||
|                                     {% endif %} |                                     {% endif %} | ||||||
|                                     <div class="col-xs-6 col-sm-4 col-md-4"> |                                 </tr> | ||||||
|                                         {{ checkbox_toggle('engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_'), (search_engine.name, categ) in blocked_engines) }} |  | ||||||
|                                     </div> |  | ||||||
|                                     {% if rtl %} |  | ||||||
|                                     <div class="col-xs-6 col-sm-4 col-md-4">{{ search_engine.name }} ({{ shortcuts[search_engine.name] }})‎</div> |  | ||||||
|                                     {% endif %} |  | ||||||
|                                 </div> |  | ||||||
|                             {% endif %} |                             {% endif %} | ||||||
|                         {% endfor %} |                         {% endfor %} | ||||||
|  | 		          </table> | ||||||
|  |                           </div> | ||||||
|                         </fieldset> |                         </fieldset> | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> |                     </div> | ||||||
|  | |||||||
| @ -623,6 +623,24 @@ def preferences(): | |||||||
|         resp.set_cookie('theme', theme, max_age=cookie_max_age) |         resp.set_cookie('theme', theme, max_age=cookie_max_age) | ||||||
| 
 | 
 | ||||||
|         return resp |         return resp | ||||||
|  | 
 | ||||||
|  |     # stats for preferences page | ||||||
|  |     stats = {} | ||||||
|  | 
 | ||||||
|  |     for c in categories: | ||||||
|  |         for e in categories[c]: | ||||||
|  |             stats[e.name] = {'time': None, | ||||||
|  |                              'warn_timeout': False, | ||||||
|  |                              'warn_time': False} | ||||||
|  |             if e.timeout > settings['server']['request_timeout']: | ||||||
|  |                 stats[e.name]['warn_timeout'] = True | ||||||
|  | 
 | ||||||
|  |     for engine_stat in get_engines_stats()[0][1]: | ||||||
|  |         stats[engine_stat.get('name')]['time'] = round(engine_stat.get('avg'), 3) | ||||||
|  |         if engine_stat.get('avg') > settings['server']['request_timeout']: | ||||||
|  |             stats[engine_stat.get('name')]['warn_time'] = True | ||||||
|  |     # end of stats | ||||||
|  | 
 | ||||||
|     return render('preferences.html', |     return render('preferences.html', | ||||||
|                   locales=settings['locales'], |                   locales=settings['locales'], | ||||||
|                   current_locale=get_locale(), |                   current_locale=get_locale(), | ||||||
| @ -630,6 +648,7 @@ def preferences(): | |||||||
|                   image_proxy=image_proxy, |                   image_proxy=image_proxy, | ||||||
|                   language_codes=language_codes, |                   language_codes=language_codes, | ||||||
|                   engines_by_category=categories, |                   engines_by_category=categories, | ||||||
|  |                   stats=stats, | ||||||
|                   blocked_engines=blocked_engines, |                   blocked_engines=blocked_engines, | ||||||
|                   autocomplete_backends=autocomplete_backends, |                   autocomplete_backends=autocomplete_backends, | ||||||
|                   shortcuts={y: x for x, y in engine_shortcuts.items()}, |                   shortcuts={y: x for x, y in engine_shortcuts.items()}, | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user