Source code for bibliopixel.control.rest.rest

import pathlib
from . import rest_server
from .. import control
from ... util import server_cache

PORT = 8787
ROOT_FOLDER = pathlib.Path(__file__).parents[3] / 'ui' / 'rest'
INDEX_FILE = 'index.html'


[docs]class Rest(control.ExtractedControl, server_cache.StaticCache): OPEN_PAGE = False SERVER_CLASS = rest_server.RestServer def __init__(self, *args, port=PORT, external_access=False, open_page=None, root_folder=ROOT_FOLDER, index_file=INDEX_FILE, **kwds): super().__init__(*args, **kwds) if open_page is None: open_page = self.OPEN_PAGE cached_server = self.cache().get_server( port, external_access=external_access, open_page=open_page, root_folder=root_folder, index_file=index_file) self.rest_server = cached_server.server
[docs] def set_project(self, project): self.rest_server.set_project(project) super().set_project(project)
[docs] def cleanup(self): self.rest_server.set_project(None) super().cleanup()
def _make_thread(self): return self.rest_server
[docs]class OpenPage(Rest): OPEN_PAGE = True