summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--searx/data/currencies.py3
-rw-r--r--searx/data/tracker_patterns.py5
-rw-r--r--searx/plugins/tracker_url_remover.py5
-rw-r--r--searx/search/processors/online_currency.py4
4 files changed, 13 insertions, 4 deletions
diff --git a/searx/data/currencies.py b/searx/data/currencies.py
index 0721037a1..504f43ae5 100644
--- a/searx/data/currencies.py
+++ b/searx/data/currencies.py
@@ -24,8 +24,9 @@ class CurrenciesDB:
def init(self):
if self.cache.properties("currencies loaded") != "OK":
- self.load()
+ # To avoid parallel initializations, the property is set first
self.cache.properties.set("currencies loaded", "OK")
+ self.load()
# F I X M E:
# do we need a maintenance .. rember: database is stored
# in /tmp and will be rebuild during the reboot anyway
diff --git a/searx/data/tracker_patterns.py b/searx/data/tracker_patterns.py
index f269b8395..04776b5a5 100644
--- a/searx/data/tracker_patterns.py
+++ b/searx/data/tracker_patterns.py
@@ -7,7 +7,6 @@ import typing
__all__ = ["TrackerPatternsDB"]
import re
-import pathlib
from collections.abc import Iterator
from urllib.parse import urlparse, urlunparse, parse_qsl, urlencode
@@ -22,7 +21,6 @@ class TrackerPatternsDB:
# pylint: disable=missing-class-docstring
ctx_name = "data_tracker_patterns"
- json_file = pathlib.Path(__file__).parent / "tracker_patterns.json"
CLEAR_LIST_URL = [
# ClearURL rule lists, the first one that responds HTTP 200 is used
@@ -42,8 +40,9 @@ class TrackerPatternsDB:
def init(self):
if self.cache.properties("tracker_patterns loaded") != "OK":
- self.load()
+ # To avoid parallel initializations, the property is set first
self.cache.properties.set("tracker_patterns loaded", "OK")
+ self.load()
# F I X M E:
# do we need a maintenance .. rember: database is stored
# in /tmp and will be rebuild during the reboot anyway
diff --git a/searx/plugins/tracker_url_remover.py b/searx/plugins/tracker_url_remover.py
index b7e8e25f3..190744586 100644
--- a/searx/plugins/tracker_url_remover.py
+++ b/searx/plugins/tracker_url_remover.py
@@ -13,6 +13,7 @@ from searx.data import TRACKER_PATTERNS
from . import Plugin, PluginInfo
if typing.TYPE_CHECKING:
+ import flask
from searx.search import SearchWithPlugins
from searx.extended_types import SXNG_Request
from searx.result_types import Result, LegacyResult
@@ -37,6 +38,10 @@ class SXNGPlugin(Plugin):
preference_section="privacy",
)
+ def init(self, app: "flask.Flask") -> bool:
+ TRACKER_PATTERNS.init()
+ return True
+
def on_result(self, request: "SXNG_Request", search: "SearchWithPlugins", result: Result) -> bool:
result.filter_urls(self.filter_url_field)
diff --git a/searx/search/processors/online_currency.py b/searx/search/processors/online_currency.py
index 0d7900616..4a56fd05c 100644
--- a/searx/search/processors/online_currency.py
+++ b/searx/search/processors/online_currency.py
@@ -24,6 +24,10 @@ class OnlineCurrencyProcessor(OnlineProcessor):
engine_type = 'online_currency'
+ def initialize(self):
+ CURRENCIES.init()
+ super().initialize()
+
def get_params(self, search_query, engine_category):
"""Returns a set of :ref:`request params <engine request online_currency>`
or ``None`` if search query does not match to :py:obj:`parser_re`."""