- super().__init__(*args, **kwargs)
- self.secret = secret or token_urlsafe(64)
- self.hub = Hub(self.secret)
- self.sr = StaticResource(self.secret, hubapp)
- self.browser = browser
- self.hub.add_routes(self)
- self.sr.add_routes(self)
- self.hub.update_context_vars(self.sr.context_vars)
+ super().__init__(**kwargs)
+ self.base_dir = Path(__file__).parents[1] / "webroot"
+ self.env = Environment(
+ loader=FileSystemLoader(self.base_dir),
+ autoescape=select_autoescape(),
+ extensions=["hub.utils.StaticTag"],
+ )
+ self.hubapps = {"root": RootApp(self, self.base_dir, "/derp", secret)}
+ for base_dir in self.base_dir.iterdir():
+ if not base_dir.is_dir() or RootApp.is_ignored_filename(base_dir):
+ continue
+ self.hubapps[base_dir.name] = HubApp(
+ self, base_dir, base_uri=f"/derp/{base_dir.name}"
+ )