mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
Replace Flask by Starlette (2/n)
This commit is contained in:
parent
78561ce7bb
commit
1a3c73cf6f
30 changed files with 994 additions and 2235 deletions
|
|
@ -21,6 +21,8 @@ from os import listdir, makedirs, remove, stat, utime
|
|||
from os.path import abspath, basename, dirname, exists, join
|
||||
from shutil import copyfile
|
||||
|
||||
import babel.support
|
||||
|
||||
from searx import logger, settings
|
||||
|
||||
|
||||
|
|
@ -63,9 +65,19 @@ class PluginStore():
|
|||
plugins = load_external_plugins(plugins)
|
||||
for plugin in plugins:
|
||||
for plugin_attr, plugin_attr_type in required_attrs:
|
||||
if not hasattr(plugin, plugin_attr) or not isinstance(getattr(plugin, plugin_attr), plugin_attr_type):
|
||||
if not hasattr(plugin, plugin_attr):
|
||||
logger.critical('missing attribute "{0}", cannot load plugin: {1}'.format(plugin_attr, plugin))
|
||||
exit(3)
|
||||
attr = getattr(plugin, plugin_attr)
|
||||
if isinstance(attr, babel.support.LazyProxy):
|
||||
attr = attr.value
|
||||
if not isinstance(attr, plugin_attr_type):
|
||||
type_attr = str(type(attr))
|
||||
logger.critical(
|
||||
'attribute "{0}" is of type {2}, must be {3}, cannot load plugin: {1}'
|
||||
.format(plugin_attr, plugin, type_attr, plugin_attr_type)
|
||||
)
|
||||
exit(3)
|
||||
for plugin_attr, plugin_attr_type in optional_attrs:
|
||||
if not hasattr(plugin, plugin_attr) or not isinstance(getattr(plugin, plugin_attr), plugin_attr_type):
|
||||
setattr(plugin, plugin_attr, plugin_attr_type())
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
|
|||
(C) 2018, 2020 by Vaclav Zouzalik
|
||||
'''
|
||||
|
||||
from flask_babel import gettext
|
||||
from searx.i18n import gettext
|
||||
import hashlib
|
||||
import re
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from flask_babel import gettext
|
||||
from searx.i18n import gettext
|
||||
|
||||
name = gettext('Infinite scroll')
|
||||
description = gettext('Automatically load next page when scrolling to bottom of current page')
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
from urllib.parse import urlparse, parse_qsl
|
||||
from flask_babel import gettext
|
||||
import re
|
||||
from searx import settings
|
||||
|
||||
from searx import settings
|
||||
from searx.i18n import gettext
|
||||
|
||||
regex = re.compile(r'10\.\d{4,9}/[^\s]+')
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
|
|||
|
||||
(C) 2015 by Adam Tauber, <asciimoo@gmail.com>
|
||||
'''
|
||||
from flask_babel import gettext
|
||||
from searx.i18n import gettext
|
||||
name = gettext('Search on category select')
|
||||
description = gettext('Perform search immediately if a category selected. '
|
||||
'Disable to select multiple categories. (JavaScript required)')
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
|
|||
|
||||
(C) 2015 by Adam Tauber, <asciimoo@gmail.com>
|
||||
'''
|
||||
from flask_babel import gettext
|
||||
from searx.i18n import gettext
|
||||
import re
|
||||
name = gettext('Self Informations')
|
||||
description = gettext('Displays your IP if the query is "ip" and your user agent if the query contains "user agent".')
|
||||
|
|
|
|||
|
|
@ -14,11 +14,11 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
|
|||
|
||||
(C) 2015 by Adam Tauber, <asciimoo@gmail.com>
|
||||
'''
|
||||
|
||||
from flask_babel import gettext
|
||||
import re
|
||||
from urllib.parse import urlunparse, parse_qsl, urlencode
|
||||
|
||||
from searx.i18n import gettext
|
||||
|
||||
regexes = {re.compile(r'utm_[^&]+'),
|
||||
re.compile(r'(wkey|wemail)[^&]*'),
|
||||
re.compile(r'(_hsenc|_hsmi|hsCtaTracking|__hssc|__hstc|__hsfp)[^&]*'),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from flask_babel import gettext
|
||||
from searx.i18n import gettext
|
||||
|
||||
name = gettext('Vim-like hotkeys')
|
||||
description = gettext('Navigate search results with Vim-like hotkeys '
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue