Spaces:
Running
Running
| """ | |
| Models tab for Video Model Studio UI | |
| Provides an overview of all models and their statuses | |
| """ | |
| import gradio as gr | |
| import logging | |
| from typing import Dict, Any, List, Optional, Tuple | |
| from vms.utils.base_tab import BaseTab | |
| from vms.ui.models.tabs import DraftsTab, TrainingTab, TrainedTab | |
| from vms.ui.models.services import ModelsService | |
| logger = logging.getLogger(__name__) | |
| class ModelsTab(BaseTab): | |
| """Models tab for tracking all models""" | |
| def __init__(self, app_state): | |
| super().__init__(app_state) | |
| self.id = "models_tab" | |
| self.title = "🎞️ Models" | |
| # Initialize service | |
| self.models_service = ModelsService(app_state) | |
| # Initialize sub-tabs | |
| self.drafts_tab = DraftsTab(app_state) | |
| self.training_tab = TrainingTab(app_state) | |
| self.trained_tab = TrainedTab(app_state) | |
| def create(self, parent=None) -> gr.TabItem: | |
| """Create the Models tab UI components""" | |
| with gr.Tab(self.title, id=self.id) as tab: | |
| # Create sub-tabs | |
| with gr.Tabs() as models_tabs: | |
| # Store reference to tabs component | |
| self.models_tabs_component = models_tabs | |
| # Create each sub-tab | |
| self.drafts_tab.create(models_tabs) | |
| self.training_tab.create(models_tabs) | |
| self.trained_tab.create(models_tabs) | |
| return tab | |
| def connect_events(self) -> None: | |
| """Connect event handlers to UI components""" | |
| # Connect events for each sub-tab | |
| self.drafts_tab.connect_events() | |
| self.training_tab.connect_events() | |
| self.trained_tab.connect_events() |