File size: 1,239 Bytes
0ad74ed |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import sys
import typer
from gradio_client.cli import deploy_discord # type: ignore
from rich.console import Console
from .commands import custom_component, deploy, print_environment_info, reload
app = typer.Typer()
app.command("environment", help="Print Gradio environment information.")(
print_environment_info
)
app.command(
"deploy",
help="Deploy a Gradio app to Spaces. Must be called within the directory you would like to deploy.",
)(deploy)
app.command("deploy-discord", help="Deploy a Gradio app to Discord.")(
deploy_discord.main
)
def cli():
args = sys.argv[1:]
if len(args) == 0:
raise ValueError("No file specified.")
if args[0] in {"deploy", "environment", "deploy-discord"}:
app()
elif args[0] in {"cc", "component"}:
sys.argv = sys.argv[1:]
custom_component()
elif args[0] in {"build", "dev", "create", "show", "publish", "install"}:
try:
error = f"gradio {args[0]} is not a valid command. Did you mean `gradio cc {args[0]}` or `gradio component {args[0]}`?."
raise ValueError(error)
except ValueError:
console = Console()
console.print_exception()
else:
typer.run(reload)
|