[fix] translate engine errors to Occitan when configured
This commit is contained in:
		
							parent
							
								
									ba7c8d7b96
								
							
						
					
					
						commit
						bce3830b8d
					
				| @ -345,8 +345,8 @@ class ResultContainer(object): | ||||
|             return 0 | ||||
|         return resultnum_sum / len(self._number_of_results) | ||||
| 
 | ||||
|     def add_unresponsive_engine(self, engine_error): | ||||
|         self.unresponsive_engines.add(engine_error) | ||||
|     def add_unresponsive_engine(self, engine_name, error_type, error_message=None): | ||||
|         self.unresponsive_engines.add((engine_name, error_type, error_message)) | ||||
| 
 | ||||
|     def add_timing(self, engine_name, engine_time, page_load_time): | ||||
|         self.timings.append({ | ||||
|  | ||||
| @ -127,11 +127,7 @@ def search_one_offline_request_safe(engine_name, query, request_params, result_c | ||||
|         logger.exception('engine {0} : invalid input : {1}'.format(engine_name, e)) | ||||
|     except Exception as e: | ||||
|         record_offline_engine_stats_on_error(engine, result_container, start_time) | ||||
| 
 | ||||
|         result_container.add_unresponsive_engine(( | ||||
|             engine_name, | ||||
|             u'{0}: {1}'.format(gettext('unexpected crash'), e), | ||||
|         )) | ||||
|         result_container.add_unresponsive_engine(engine_name, 'unexpected crash', str(e)) | ||||
|         logger.exception('engine {0} : exception : {1}'.format(engine_name, e)) | ||||
| 
 | ||||
| 
 | ||||
| @ -186,24 +182,21 @@ def search_one_http_request_safe(engine_name, query, request_params, result_cont | ||||
|             engine.stats['errors'] += 1 | ||||
| 
 | ||||
|         if (issubclass(e.__class__, requests.exceptions.Timeout)): | ||||
|             result_container.add_unresponsive_engine((engine_name, gettext('timeout'))) | ||||
|             result_container.add_unresponsive_engine(engine_name, 'timeout') | ||||
|             # requests timeout (connect or read) | ||||
|             logger.error("engine {0} : HTTP requests timeout" | ||||
|                          "(search duration : {1} s, timeout: {2} s) : {3}" | ||||
|                          .format(engine_name, engine_time, timeout_limit, e.__class__.__name__)) | ||||
|             requests_exception = True | ||||
|         elif (issubclass(e.__class__, requests.exceptions.RequestException)): | ||||
|             result_container.add_unresponsive_engine((engine_name, gettext('request exception'))) | ||||
|             result_container.add_unresponsive_engine(engine_name, 'request exception') | ||||
|             # other requests exception | ||||
|             logger.exception("engine {0} : requests exception" | ||||
|                              "(search duration : {1} s, timeout: {2} s) : {3}" | ||||
|                              .format(engine_name, engine_time, timeout_limit, e)) | ||||
|             requests_exception = True | ||||
|         else: | ||||
|             result_container.add_unresponsive_engine(( | ||||
|                 engine_name, | ||||
|                 u'{0}: {1}'.format(gettext('unexpected crash'), e), | ||||
|             )) | ||||
|             result_container.add_unresponsive_engine(engine_name, 'unexpected crash', str(e)) | ||||
|             # others errors | ||||
|             logger.exception('engine {0} : exception : {1}'.format(engine_name, e)) | ||||
| 
 | ||||
| @ -238,7 +231,7 @@ def search_multiple_requests(requests, result_container, start_time, timeout_lim | ||||
|             remaining_time = max(0.0, timeout_limit - (time() - start_time)) | ||||
|             th.join(remaining_time) | ||||
|             if th.isAlive(): | ||||
|                 result_container.add_unresponsive_engine((th._engine_name, gettext('timeout'))) | ||||
|                 result_container.add_unresponsive_engine(th._engine_name, 'timeout') | ||||
|                 logger.warning('engine timeout: {0}'.format(th._engine_name)) | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| @ -626,7 +626,7 @@ def index(): | ||||
|                                     'corrections': list(result_container.corrections), | ||||
|                                     'infoboxes': result_container.infoboxes, | ||||
|                                     'suggestions': list(result_container.suggestions), | ||||
|                                     'unresponsive_engines': list(result_container.unresponsive_engines)}, | ||||
|                                     'unresponsive_engines': __get_translated_errors(result_container.unresponsive_engines)},  # noqa | ||||
|                                    default=lambda item: list(item) if isinstance(item, set) else item), | ||||
|                         mimetype='application/json') | ||||
|     elif output_format == 'csv': | ||||
| @ -694,7 +694,7 @@ def index(): | ||||
|         corrections=correction_urls, | ||||
|         infoboxes=result_container.infoboxes, | ||||
|         paging=result_container.paging, | ||||
|         unresponsive_engines=result_container.unresponsive_engines, | ||||
|         unresponsive_engines=__get_translated_errors(result_container.unresponsive_engines), | ||||
|         current_language=match_language(search_query.lang, | ||||
|                                         LANGUAGE_CODES, | ||||
|                                         fallback=request.preferences.get_value("language")), | ||||
| @ -705,6 +705,16 @@ def index(): | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
| def __get_translated_errors(unresponsive_engines): | ||||
|     translated_errors = [] | ||||
|     for unresponsive_engine in unresponsive_engines: | ||||
|         error_msg = gettext(unresponsive_engine[1]) | ||||
|         if unresponsive_engine[2]: | ||||
|             error_msg = "{} {}".format(error_msg, unresponsive_engine[2]) | ||||
|         translated_errors.append((unresponsive_engine[0], error_msg)) | ||||
|     return translated_errors | ||||
| 
 | ||||
| 
 | ||||
| @app.route('/about', methods=['GET']) | ||||
| def about(): | ||||
|     """Render about page""" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Noémi Ványi
						Noémi Ványi