diff --git a/src/metar_navigate/application.py b/src/metar_navigate/application.py index 2dfcfd3..8d87fda 100644 --- a/src/metar_navigate/application.py +++ b/src/metar_navigate/application.py @@ -2,6 +2,7 @@ import argparse import sys import rich + from metar_navigate.ui import RichInterface from metar_navigate.utils import ConfigManager @@ -11,11 +12,12 @@ class Application: self.args = None self.config = ConfigManager() self.ui = None + self.is_configured = False def setup(self) -> None: - if self.config.read_config() is None: - rich.print("[bold red]No config file found. Please run metarNavigate --configure[/bold red] ") + if self.config.read_config() is not None: + self.is_configured = True self._validate_args() @@ -74,4 +76,4 @@ class Application: def run(self): - pass + self.ui.run() diff --git a/src/metar_navigate/ui/__init__.py b/src/metar_navigate/ui/__init__.py index 7f15867..246a1c9 100644 --- a/src/metar_navigate/ui/__init__.py +++ b/src/metar_navigate/ui/__init__.py @@ -1,3 +1,3 @@ from .ui import RichInterface -__all__ = ["RichInterface"] \ No newline at end of file +__all__ = ["RichInterface",] \ No newline at end of file diff --git a/src/metar_navigate/ui/ui.py b/src/metar_navigate/ui/ui.py index f6ce152..ac0798d 100644 --- a/src/metar_navigate/ui/ui.py +++ b/src/metar_navigate/ui/ui.py @@ -1,6 +1,6 @@ from abc import ABC, abstractmethod -from rich import Console +from rich import console class UIInterface(ABC): @@ -16,15 +16,31 @@ class UIInterface(ABC): class RichInterface(UIInterface): def __init__(self): super().__init__() - self.console = Console() + self.console = console.Console() self.console.show_cursor(False) self.mode = None def setup(self,**kwargs): for key, value in kwargs.items(): - if key == "configures" and value == True: - self.mode = "configure" - else: - self.mode = "run" + match(key): + case "configure": + if value: + self.mode = "configure" + else: + self.mode = "run" + case "detailed": + self.mode = "detailed" + case _: + raise ValueError(f"Invalid mode: {key}") + def configure_run_mode(self): + self.console.print("This Application is in [bold red]Configure Mode[/bold red]") + self.console.print("This Application requires a CheckWX API Key to run") + + def run(self): - pass \ No newline at end of file + if self.mode == "configure": + self.configure_run_mode() + else: + self.console.print("This Application is in [bold red]Run Mode[/bold red]") + + self.console.show_cursor(True) \ No newline at end of file