import modal import os from pathlib import Path # Create app for listing files list_app = modal.App("openlipsync-lister") # Create a shared volume volume = modal.Volume.from_name("openlipsync-volume", create_if_missing=True) @list_app.function( image=modal.Image.debian_slim(python_version="3.11"), volumes={"/data": volume} ) def list_files(): import os import pathlib # List all files in volume print("Files in volume:") def list_directory(path): try: for item in os.listdir(path): item_path = os.path.join(path, item) if os.path.isdir(item_path): print(f" {item}/") list_directory(item_path) else: print(f" {item}") except Exception as e: print(f"Error accessing {path}: {e}") # List files in the volume list_directory("/data") # Or alternatively, you can use pathlib to list files print("\nDetailed file listing:") data_path = pathlib.Path("/data") for file_path in data_path.rglob("*"): if file_path.is_file(): print(f" {file_path.relative_to('/data')}") @list_app.local_entrypoint() def main_list(): print("Listing files in volume...") list_files.remote() print("Listing completed!")