import gradio as gr import os from azure.storage.blob import BlobServiceClient from azure.identity import DefaultAzureCredential class AzureGradioApp: def __init__(self): self.blob_service = BlobServiceClient( account_url="your_storage_account_url", credential=DefaultAzureCredential() ) self.container = self.blob_service.get_container_client("png-container") def handle_login(self, username, password): if username == "admin" and password == "dashboard": return "Login successful" return "Invalid credentials" def search_isrc(self, isrc): try: blob_url = f"{self.blob_service.url}/{isrc}.png" return blob_url except: return None def build_ui(self): with gr.Blocks(theme=gr.themes.Soft()) as interface: gr.Markdown("# ARTIFICIAL STREAMING DASHBOARD") with gr.Tab("Login"): username = gr.Textbox(label="Username") password = gr.Textbox(label="Password", type="password") login_btn = gr.Button("Login") login_output = gr.Textbox(label="Status") login_btn.click(self.handle_login, [username, password], login_output) with gr.Tab("Search"): isrc_input = gr.Textbox(label="ISRC Code") search_btn = gr.Button("Search") image_output = gr.Image(label="Graph") search_btn.click(self.search_isrc, isrc_input, image_output) with gr.Tab("Top 5"): query_btn = gr.Button("Query Top 5") gallery = gr.Gallery(label="Top 5 ISRCs") return interface if __name__ == "__main__": app = AzureGradioApp() interface = app.build_ui() interface.launch(share=True)