from owrx.controllers.template import WebpageController from owrx.controllers.admin import AuthorizationMixin from owrx.bookmarks import Bookmark, Bookmarks class BookmarksController(AuthorizationMixin, WebpageController): def header_variables(self): variables = super().header_variables() variables["assets_prefix"] = "../" return variables def template_variables(self): variables = super().template_variables() variables["bookmarks"] = self.render_table() return variables def render_table(self): bookmarks = Bookmarks.getSharedInstance() return """ {bookmarks}
Name Frequency Modulation
""".format( bookmarks="".join(self.render_bookmark(idx, b) for idx, b in enumerate(bookmarks.getBookmarks())) ) def render_bookmark(self, idx: int, bookmark: Bookmark): return """ {name} {frequency} {modulation} """.format( index=idx, name=bookmark.getName(), frequency=bookmark.getFrequency(), modulation=bookmark.getModulation(), ) def indexAction(self): self.serve_template("settings/bookmarks.html", **self.template_variables())