diff --git a/AFL/automation/APIServer/APIServer.py b/AFL/automation/APIServer/APIServer.py index aa2fec53..b5b4f464 100644 --- a/AFL/automation/APIServer/APIServer.py +++ b/AFL/automation/APIServer/APIServer.py @@ -268,32 +268,36 @@ def init_logging(self,toaddrs=None): def index(self): - '''Live, status page of the robot''' + ''' + Render the legacy status board + ''' self.app.logger.info('Serving index page') kw = {} - kw['queue'] = self.get_queue() - kw['contact'] = self.contact - kw['experiment'] = self.experiment - kw['queue_state'] = self.queue_state() - kw['name'] = self.name - kw['driver'] = self.queue_daemon.driver.name + kw['queue'] = self.get_queue() + kw['queue_state'] = self.queue_state() + kw['name'] = self.name + kw['driver'] = self.queue_daemon.driver.name + kw['useful_links'] = self.queue_daemon.driver.useful_links return render_template(self.index_template,**kw),200 def index_new(self): - '''Live, status page of the robot''' + ''' + Render the new driver UI + ''' self.app.logger.info('Serving index page') kw = {} - kw['queue'] = self.get_queue() - kw['contact'] = self.contact - kw['experiment'] = self.experiment - kw['queue_state'] = self.queue_state() - kw['name'] = self.name - kw['driver'] = self.queue_daemon.driver.name + kw['queue'] = self.get_queue() + kw['queue_state'] = self.queue_state() + kw['name'] = self.name + kw['driver'] = self.queue_daemon.driver.name + kw['useful_links'] = self.queue_daemon.driver.useful_links return render_template(self.new_index_template,**kw),200 def webapp(self): - '''Live, status page of the robot''' + ''' + Render the jquery webapp + ''' self.app.logger.info('Serving WebApp') return render_template('webapp.html'),200 diff --git a/AFL/automation/APIServer/Driver.py b/AFL/automation/APIServer/Driver.py index 2026860b..125b82c7 100644 --- a/AFL/automation/APIServer/Driver.py +++ b/AFL/automation/APIServer/Driver.py @@ -42,7 +42,7 @@ class Driver: unqueued = makeRegistrar() queued = makeRegistrar() quickbar = makeRegistrar() - def __init__(self,name,defaults=None,overrides=None): + def __init__(self,name,defaults=None,overrides=None,useful_links=None): self.app = None self.data = None self.dropbox = None @@ -51,6 +51,11 @@ def __init__(self,name,defaults=None,overrides=None): self.name = 'Driver' else: self.name = name + + if useful_links is None: + self.useful_links = [] + else: + self.useful_links = useful_links self.path = pathlib.Path.home() / '.afl' self.path.mkdir(exist_ok=True,parents=True) diff --git a/AFL/automation/APIServer/DummyDriver.py b/AFL/automation/APIServer/DummyDriver.py index dae6bb63..acb1bc0f 100644 --- a/AFL/automation/APIServer/DummyDriver.py +++ b/AFL/automation/APIServer/DummyDriver.py @@ -9,11 +9,13 @@ class DummyDriver(Driver): defaults = {} defaults['speed of light'] = 3.0e8 defaults['density of water'] = 1.0 - def __init__(self,name=None,overrides=None): + def __init__(self,name=None,overrides=None,useful_links=None): self.app = None if name is None: name = 'DummyDriver' - Driver.__init__(self,name=name,defaults=self.gather_defaults(),overrides=overrides) + if useful_links is None: + useful_links = {'How Many (5)':'/how_many?count=5'} + Driver.__init__(self,name=name,defaults=self.gather_defaults(),overrides=overrides,useful_links=useful_links) def status(self): status = [] diff --git a/AFL/automation/APIServer/templates/index-new.html b/AFL/automation/APIServer/templates/index-new.html index 946b71df..f93094d3 100644 --- a/AFL/automation/APIServer/templates/index-new.html +++ b/AFL/automation/APIServer/templates/index-new.html @@ -150,6 +150,15 @@