import gradio as gr import os, shutil '''import subprocess, os assets_folder = "assets" if not os.path.exists(assets_folder): os.makedirs(assets_folder) files = { "rmvpe/rmvpe.pt":"https://huggingface.co/Rejekts/project/resolve/main/rmvpe.pt", "hubert/hubert_base.pt":"https://huggingface.co/Rejekts/project/resolve/main/hubert_base.pt", "pretrained_v2/D40k.pth":"https://huggingface.co/Rejekts/project/resolve/main/D40k.pth", "pretrained_v2/G40k.pth":"https://huggingface.co/Rejekts/project/resolve/main/G40k.pth", "pretrained_v2/f0D40k.pth":"https://huggingface.co/Rejekts/project/resolve/main/f0D40k.pth", "pretrained_v2/f0G40k.pth":"https://huggingface.co/Rejekts/project/resolve/main/f0G40k.pth" } for file, link in files.items(): file_path = os.path.join(assets_folder, file) if not os.path.exists(file_path): try: subprocess.run(['wget', link, '-O', file_path], check=True) except subprocess.CalledProcessError as e: print(f"Error downloading {file}: {e}")''' def show_available(filepath): return os.listdir(filepath) def upload_file(file): audio_formats = ['.wav', '.mp3', '.ogg', '.flac', '.aac'] file_name, file_extension = os.path.splitext(file.name) if file_extension.lower() in audio_formats: shutil.move(file.name,'audios') elif file_extension.lower().endswith('.pth'): shutil.move(file.name,'assets/weights') elif file_extension.lower().endswith('.index'): shutil.move(file.name,'logs') else: print("Filetype not compatible") return {"choices":show_available('audios'),"__type__": "update"} with gr.Blocks() as app: with gr.Row(): dropbox = gr.File(label="Upload files") audio_picker = gr.Dropdown(label="",choices=show_available('audios')) dropbox.upload(fn=upload_file, inputs=[dropbox],outputs=[audio_picker]) app.launch()