move db error handling from per-page to base page

This commit is contained in:
David Rodenkirchen
2024-08-29 13:25:20 +02:00
parent 140d1cb1db
commit deae96d8fa
4 changed files with 17 additions and 8 deletions
+8 -2
View File
@@ -2,9 +2,9 @@ from __future__ import annotations
from typing import * # type: ignore
from rio import Component, event, Spacer, Card, Container, Column, Row, Rectangle, TextStyle, Color, Text
from rio import Component, event, Spacer, Card, Container, Column, Row, TextStyle, Color, Text
from src.ez_lan_manager import ConfigurationService
from src.ez_lan_manager import ConfigurationService, DatabaseService
from src.ez_lan_manager.components.DesktopNavigation import DesktopNavigation
class BasePage(Component):
@@ -14,6 +14,11 @@ class BasePage(Component):
async def on_window_size_change(self):
await self.force_refresh()
@event.on_populate
async def check_db_connection(self):
if not self.session[DatabaseService].is_connected:
self.session.navigate_to("./db-error")
def build(self) -> Component:
if self.content is None:
content = Spacer()
@@ -63,3 +68,4 @@ class BasePage(Component):
align_y=0.5,
style=TextStyle(fill=Color.from_hex("FFFFFF"), font_size=0.8)
)
+1 -5
View File
@@ -3,7 +3,6 @@ from rio import Column, Component, event
from src.ez_lan_manager import ConfigurationService, NewsService
from src.ez_lan_manager.components.NewsPost import NewsPost
from src.ez_lan_manager.pages import BasePage
from src.ez_lan_manager.services.DatabaseService import NoDatabaseConnectionError
from src.ez_lan_manager.types.News import News
@@ -13,10 +12,7 @@ class NewsPage(Component):
@event.on_populate
async def on_populate(self) -> None:
await self.session.set_title(f"{self.session[ConfigurationService].get_lan_info().name} - Neuigkeiten")
try:
self.news_posts = self.session[NewsService].get_news()[:8]
except NoDatabaseConnectionError:
self.session.navigate_to("db-error")
self.news_posts = self.session[NewsService].get_news()[:8]
def build(self) -> Component:
posts = [NewsPost(