diff options
Diffstat (limited to 'bitbake/lib/hashserv/__init__.py')
| -rw-r--r-- | bitbake/lib/hashserv/__init__.py | 21 |
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 | ||
| 38 | def create_server(addr, dbname, *, sync=True, upstream=None, read_only=False): | 38 | def 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 | ||
