diff options
Diffstat (limited to 'src_py')
| -rw-r--r-- | src_py/hatter/backend.py | 9 | ||||
| -rw-r--r-- | src_py/hatter/main.py | 3 | ||||
| -rw-r--r-- | src_py/hatter/server.py | 6 |
3 files changed, 15 insertions, 3 deletions
diff --git a/src_py/hatter/backend.py b/src_py/hatter/backend.py index 57c5192..8b78570 100644 --- a/src_py/hatter/backend.py +++ b/src_py/hatter/backend.py @@ -27,7 +27,8 @@ Job = util.namedtuple('Job', class Backend: - def __init__(self, db_path): + def __init__(self, db_path, repositories): + self._repositories = repositories self._next_job_id = 0 self._active = None self._queue = [] @@ -40,8 +41,12 @@ class Backend: self._run_loop_future = asyncio.ensure_future(self._run_loop()) @property + def repositories(self): + return self._repositories + + @property def active(self): - self._active + return self._active @property def queue(self): diff --git a/src_py/hatter/main.py b/src_py/hatter/main.py index 87bc32c..71245a2 100644 --- a/src_py/hatter/main.py +++ b/src_py/hatter/main.py @@ -37,7 +37,8 @@ async def async_main(conf, web_path): backend = None
web_server = None
try:
- backend = Backend(pathlib.Path(conf.get('db_path', 'hatter.db')))
+ backend = Backend(pathlib.Path(conf.get('db_path', 'hatter.db')),
+ conf['repositories'])
web_server = await create_web_server(
backend, conf.get('host', '0.0.0.0'), conf.get('port', 24000),
conf.get('webhook_path', '/webhook'), web_path)
diff --git a/src_py/hatter/server.py b/src_py/hatter/server.py index 8263eea..baeffac 100644 --- a/src_py/hatter/server.py +++ b/src_py/hatter/server.py @@ -85,6 +85,7 @@ class _Client: with self._backend.register_queue_change_cb(self._on_queue_change): with self._backend.register_log_change_cb(self._on_log_change): try: + self._send_repositories() self._send_active_job() self._send_job_queue() self._send_log_entries() @@ -127,6 +128,11 @@ class _Client: self._log_entries = log_entries self._send_log_entries() + def _send_repositories(self): + self._ws.send_str(json.dumps({ + 'type': 'repositories', + 'repositories': self._backend.repositories})) + def _send_active_job(self): self._ws.send_str(json.dumps({ 'type': 'active_job', |
