mirror of
				https://github.com/searxng/searxng.git
				synced 2025-10-31 18:47:07 -04:00 
			
		
		
		
	In the past, some files were tested with the standard profile, others with a profile in which most of the messages were switched off ... some files were not checked at all. - ``PYLINT_SEARXNG_DISABLE_OPTION`` has been abolished - the distinction ``# lint: pylint`` is no longer necessary - the pylint tasks have been reduced from three to two 1. ./searx/engines -> lint engines with additional builtins 2. ./searx ./searxng_extra ./tests -> lint all other python files Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # SPDX-License-Identifier: AGPL-3.0-or-later
 | |
| """This module implements the :origin:`searxng_msg <babel.cfg>` extractor to
 | |
| extract messages from:
 | |
| 
 | |
| - :origin:`searx/searxng.msg`
 | |
| 
 | |
| The ``searxng.msg`` files are selected by Babel_, see Babel's configuration in
 | |
| :origin:`babel.cfg`::
 | |
| 
 | |
|     searxng_msg = searx.babel_extract.extract
 | |
|     ...
 | |
|     [searxng_msg: **/searxng.msg]
 | |
| 
 | |
| A ``searxng.msg`` file is a python file that is *executed* by the
 | |
| :py:obj:`extract` function.  Additional ``searxng.msg`` files can be added by:
 | |
| 
 | |
| 1. Adding a ``searxng.msg`` file in one of the SearXNG python packages and
 | |
| 2. implement a method in :py:obj:`extract` that yields messages from this file.
 | |
| 
 | |
| .. _Babel: https://babel.pocoo.org/en/latest/index.html
 | |
| 
 | |
| """
 | |
| 
 | |
| from os import path
 | |
| 
 | |
| SEARXNG_MSG_FILE = "searxng.msg"
 | |
| _MSG_FILES = [path.join(path.dirname(__file__), SEARXNG_MSG_FILE)]
 | |
| 
 | |
| 
 | |
| def extract(
 | |
|     # pylint: disable=unused-argument
 | |
|     fileobj,
 | |
|     keywords,
 | |
|     comment_tags,
 | |
|     options,
 | |
| ):
 | |
|     """Extract messages from ``searxng.msg`` files by a custom extractor_.
 | |
| 
 | |
|     .. _extractor:
 | |
|        https://babel.pocoo.org/en/latest/messages.html#writing-extraction-methods
 | |
|     """
 | |
|     if fileobj.name not in _MSG_FILES:
 | |
|         raise RuntimeError("don't know how to extract messages from %s" % fileobj.name)
 | |
| 
 | |
|     namespace = {}
 | |
|     exec(fileobj.read(), {}, namespace)  # pylint: disable=exec-used
 | |
| 
 | |
|     for name in namespace['__all__']:
 | |
|         for k, v in namespace[name].items():
 | |
|             yield 0, '_', v, ["%s['%s']" % (name, k)]
 |