commit
						584760cf54
					
				| @ -28,11 +28,8 @@ numfig = True | |||||||
| exclude_patterns = ['build-templates/*.rst'] | exclude_patterns = ['build-templates/*.rst'] | ||||||
| 
 | 
 | ||||||
| from searx import webapp | from searx import webapp | ||||||
| import searx.engines |  | ||||||
| searx.engines.initialize_engines(searx.settings['engines']) |  | ||||||
| jinja_contexts = { | jinja_contexts = { | ||||||
|     'webapp': dict(**webapp.__dict__), |     'webapp': dict(**webapp.__dict__), | ||||||
|     'engines': searx.engines.engines |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| # usage::   lorem :patch:`f373169` ipsum | # usage::   lorem :patch:`f373169` ipsum | ||||||
|  | |||||||
| @ -65,7 +65,7 @@ from searx.engines import ( | |||||||
| from searx.webutils import ( | from searx.webutils import ( | ||||||
|     UnicodeWriter, highlight_content, get_resources_directory, |     UnicodeWriter, highlight_content, get_resources_directory, | ||||||
|     get_static_files, get_result_templates, get_themes, |     get_static_files, get_result_templates, get_themes, | ||||||
|     prettify_url, new_hmac |     prettify_url, new_hmac, is_flask_run_cmdline | ||||||
| ) | ) | ||||||
| from searx.webadapter import get_search_query_from_webapp, get_selected_categories | from searx.webadapter import get_search_query_from_webapp, get_selected_categories | ||||||
| from searx.utils import html_to_text, gen_useragent, dict_subset, match_language | from searx.utils import html_to_text, gen_useragent, dict_subset, match_language | ||||||
| @ -114,9 +114,21 @@ app.jinja_env.lstrip_blocks = True | |||||||
| app.jinja_env.add_extension('jinja2.ext.loopcontrols') | app.jinja_env.add_extension('jinja2.ext.loopcontrols') | ||||||
| app.secret_key = settings['server']['secret_key'] | app.secret_key = settings['server']['secret_key'] | ||||||
| 
 | 
 | ||||||
| if not searx_debug \ | # see https://flask.palletsprojects.com/en/1.1.x/cli/ | ||||||
|    or os.environ.get("WERKZEUG_RUN_MAIN") == "true" \ | # True if "FLASK_APP=searx/webapp.py FLASK_ENV=development flask run" | ||||||
|    or os.environ.get('UWSGI_ORIGINAL_PROC_NAME') is not None: | flask_run_development = \ | ||||||
|  |     os.environ.get("FLASK_APP") is not None\ | ||||||
|  |     and os.environ.get("FLASK_ENV") == 'development'\ | ||||||
|  |     and is_flask_run_cmdline() | ||||||
|  | 
 | ||||||
|  | # True if reload feature is activated of werkzeug, False otherwise (including uwsgi, etc..) | ||||||
|  | #  __name__ != "__main__" if searx.webapp is imported (make test, make docs, uwsgi...) | ||||||
|  | # see run() at the end of this file : searx_debug activates the reload feature. | ||||||
|  | werkzeug_reloader = flask_run_development or (searx_debug and __name__ == "__main__") | ||||||
|  | 
 | ||||||
|  | # initialize the engines except on the first run of the werkzeug server. | ||||||
|  | if not werkzeug_reloader\ | ||||||
|  |    or (werkzeug_reloader and os.environ.get("WERKZEUG_RUN_MAIN") == "true"): | ||||||
|     initialize_engines(settings['engines']) |     initialize_engines(settings['engines']) | ||||||
| 
 | 
 | ||||||
| babel = Babel(app) | babel = Babel(app) | ||||||
|  | |||||||
| @ -4,6 +4,7 @@ import csv | |||||||
| import hashlib | import hashlib | ||||||
| import hmac | import hmac | ||||||
| import re | import re | ||||||
|  | import inspect | ||||||
| 
 | 
 | ||||||
| from io import StringIO | from io import StringIO | ||||||
| from codecs import getincrementalencoder | from codecs import getincrementalencoder | ||||||
| @ -127,3 +128,18 @@ def highlight_content(content, query): | |||||||
|                          content, flags=re.I | re.U) |                          content, flags=re.I | re.U) | ||||||
| 
 | 
 | ||||||
|     return content |     return content | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def is_flask_run_cmdline(): | ||||||
|  |     """Check if the application was started using "flask run" command line | ||||||
|  | 
 | ||||||
|  |     Inspect the callstack. | ||||||
|  |     See https://github.com/pallets/flask/blob/master/src/flask/__main__.py | ||||||
|  | 
 | ||||||
|  |     Returns: | ||||||
|  |         bool: True if the application was started using "flask run". | ||||||
|  |     """ | ||||||
|  |     frames = inspect.stack() | ||||||
|  |     if len(frames) < 2: | ||||||
|  |         return False | ||||||
|  |     return frames[-2].filename.endswith('flask/cli.py') | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user