forked from Ponysearch/Ponysearch
commit
584760cf54
3 changed files with 32 additions and 7 deletions
|
@ -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 a new issue