import gradio as gr from gui.content_automation_ui import GradioContentAutomationUI from gui.ui_abstract_base import AbstractBaseUI from gui.ui_components_html import GradioComponentsHTML from gui.ui_tab_asset_library import AssetLibrary from gui.ui_tab_config import ConfigUI from shortGPT.utils.cli import CLI class ShortGptUI(AbstractBaseUI): '''Class for the GUI. This class is responsible for creating the UI and launching the server.''' def __init__(self, colab=True): super().__init__(ui_name='gradio_shortgpt') self.colab = colab CLI.display_header() def create_interface(self): '''Create Gradio interface''' with gr.Blocks(css="footer {visibility: hidden}", title="ShortGPT Demo") as shortGptUI: with gr.Row(variant='compact'): gr.HTML(GradioComponentsHTML.get_html_header()) self.content_automation = GradioContentAutomationUI(shortGptUI).create_ui() self.asset_library_ui = AssetLibrary().create_ui() self.config_ui = ConfigUI().create_ui() return shortGptUI def launch(self): '''Launch the server''' shortGptUI = self.create_interface() shortGptUI.queue(max_size=20).launch(server_port=31415, height=1000, share=True, server_name="0.0.0.0", max_threads=5) if __name__ == "__main__": app = ShortGptUI() app.launch()