summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/dev/engines/offline/sql-engines.rst15
-rw-r--r--searx/engines/mariadb_server.py16
-rw-r--r--searx/engines/mysql_server.py13
-rw-r--r--searx/engines/postgresql.py13
-rw-r--r--searx/engines/sqlite.py5
5 files changed, 61 insertions, 1 deletions
diff --git a/docs/dev/engines/offline/sql-engines.rst b/docs/dev/engines/offline/sql-engines.rst
index f0f5add0b..f642f1f29 100644
--- a/docs/dev/engines/offline/sql-engines.rst
+++ b/docs/dev/engines/offline/sql-engines.rst
@@ -25,7 +25,7 @@ Relational Database Management System (RDBMS) are supported:
- :ref:`engine sqlite`
- :ref:`engine postgresql`
-- :ref:`engine mysql_server`
+- :ref:`engine mysql_server` & :ref:`engine mariadb_server`
All of the engines above are just commented out in the :origin:`settings.yml
<searx/settings.yml>`, as you have to set the required attributes for the
@@ -119,3 +119,16 @@ MySQL
.. automodule:: searx.engines.mysql_server
:members:
+.. _engine mariadb_server:
+
+MariaDB
+--------
+
+.. sidebar:: info
+
+ - :origin:`mariadb_server.py <searx/engines/mariadb_server.py>`
+ - ``pip install`` :pypi:`mariadb <mariadb>`
+
+
+.. automodule:: searx.engines.mariadb_server
+ :members:
diff --git a/searx/engines/mariadb_server.py b/searx/engines/mariadb_server.py
index 7cf7eec33..7343f4342 100644
--- a/searx/engines/mariadb_server.py
+++ b/searx/engines/mariadb_server.py
@@ -21,6 +21,9 @@ This is an example configuration for querying a MariaDB server:
limit: 5
query_str: 'SELECT * from my_table WHERE my_column=%(query)s'
+Implementations
+===============
+
"""
from typing import TYPE_CHECKING
@@ -39,12 +42,25 @@ if TYPE_CHECKING:
engine_type = 'offline'
+
host = "127.0.0.1"
+"""Hostname of the DB connector"""
+
port = 3306
+"""Port of the DB connector"""
+
database = ""
+"""Name of the database."""
+
username = ""
+"""Username for the DB connection."""
+
password = ""
+"""Password for the DB connection."""
+
query_str = ""
+"""SQL query that returns the result items."""
+
limit = 10
paging = True
result_template = 'key-value.html'
diff --git a/searx/engines/mysql_server.py b/searx/engines/mysql_server.py
index 369b2b7fe..30d59332e 100644
--- a/searx/engines/mysql_server.py
+++ b/searx/engines/mysql_server.py
@@ -34,12 +34,25 @@ except ImportError:
engine_type = 'offline'
auth_plugin = 'caching_sha2_password'
+
host = "127.0.0.1"
+"""Hostname of the DB connector"""
+
port = 3306
+"""Port of the DB connector"""
+
database = ""
+"""Name of the database."""
+
username = ""
+"""Username for the DB connection."""
+
password = ""
+"""Password for the DB connection."""
+
query_str = ""
+"""SQL query that returns the result items."""
+
limit = 10
paging = True
result_template = 'key-value.html'
diff --git a/searx/engines/postgresql.py b/searx/engines/postgresql.py
index e7def0635..ddd0ef929 100644
--- a/searx/engines/postgresql.py
+++ b/searx/engines/postgresql.py
@@ -29,12 +29,25 @@ except ImportError:
pass
engine_type = 'offline'
+
host = "127.0.0.1"
+"""Hostname of the DB connector"""
+
port = "5432"
+"""Port of the DB connector"""
+
database = ""
+"""Name of the database."""
+
username = ""
+"""Username for the DB connection."""
+
password = ""
+"""Password for the DB connection."""
+
query_str = ""
+"""SQL query that returns the result items."""
+
limit = 10
paging = True
result_template = 'key-value.html'
diff --git a/searx/engines/sqlite.py b/searx/engines/sqlite.py
index f5f6ac8bf..e9694cf74 100644
--- a/searx/engines/sqlite.py
+++ b/searx/engines/sqlite.py
@@ -41,8 +41,13 @@ import sqlite3
import contextlib
engine_type = 'offline'
+
database = ""
+"""Filename of the SQLite DB."""
+
query_str = ""
+"""SQL query that returns the result items."""
+
limit = 10
paging = True
result_template = 'key-value.html'