aboutsummaryrefslogtreecommitdiff
path: root/src_py/hatter
diff options
context:
space:
mode:
authorbozo.kopic <bozo.kopic@gmail.com>2017-08-24 17:51:14 +0200
committerbozo.kopic <bozo.kopic@gmail.com>2017-08-24 17:51:14 +0200
commitc594b1fca854a7b9fb73d854a9830143cd1032fc (patch)
tree8c8b63cb4899238cf0f73a3f7bd08d9b70b16e81 /src_py/hatter
parentd736cd1392a56ad5103867c72761cfcb4ccd4f1b (diff)
frontend
Diffstat (limited to 'src_py/hatter')
-rw-r--r--src_py/hatter/backend.py9
-rw-r--r--src_py/hatter/main.py3
-rw-r--r--src_py/hatter/server.py6
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',