summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/hashserv/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/hashserv/__init__.py')
-rw-r--r--bitbake/lib/hashserv/__init__.py21
1 files changed, 19 insertions, 2 deletions
diff --git a/bitbake/lib/hashserv/__init__.py b/bitbake/lib/hashserv/__init__.py
index 90d8cff15f..9a8ee4e88b 100644
--- a/bitbake/lib/hashserv/__init__.py
+++ b/bitbake/lib/hashserv/__init__.py
@@ -35,15 +35,32 @@ def parse_address(addr):
35 return (ADDR_TYPE_TCP, (host, int(port))) 35 return (ADDR_TYPE_TCP, (host, int(port)))
36 36
37 37
38def create_server(addr, dbname, *, sync=True, upstream=None, read_only=False): 38def create_server(
39 addr,
40 dbname,
41 *,
42 sync=True,
43 upstream=None,
44 read_only=False,
45 db_username=None,
46 db_password=None
47):
39 def sqlite_engine(): 48 def sqlite_engine():
40 from .sqlite import DatabaseEngine 49 from .sqlite import DatabaseEngine
41 50
42 return DatabaseEngine(dbname, sync) 51 return DatabaseEngine(dbname, sync)
43 52
53 def sqlalchemy_engine():
54 from .sqlalchemy import DatabaseEngine
55
56 return DatabaseEngine(dbname, db_username, db_password)
57
44 from . import server 58 from . import server
45 59
46 db_engine = sqlite_engine() 60 if "://" in dbname:
61 db_engine = sqlalchemy_engine()
62 else:
63 db_engine = sqlite_engine()
47 64
48 s = server.Server(db_engine, upstream=upstream, read_only=read_only) 65 s = server.Server(db_engine, upstream=upstream, read_only=read_only)
49 66