video_platform / tabs /shell_tab.py
qgyd2021's picture
update
ea8b1fb
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import gradio as gr
from toolbox.os.command import Command
def shell(cmd: str):
return Command.popen(cmd)
def get_shell_tab():
with gr.TabItem("shell"):
shell_text = gr.Textbox(label="cmd")
shell_button = gr.Button("run")
shell_output = gr.Textbox(label="output", max_lines=100)
shell_button.click(
shell,
inputs=[shell_text, ],
outputs=[shell_output],
)
gr.Examples(
examples=[
[
"echo \"CPU使用率: $(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage \"%\"}')\""
], [
"echo \"内存使用: $(free -m | awk '/Mem:/ {printf \"%.1f%%\", $3/$2*100}')\""
], [
"echo \"内存总量: $(grep MemTotal /proc/meminfo | awk '{print $2/1024 \" MB\"}')\""
], [
"echo \"可用内存: $(grep MemAvailable /proc/meminfo | awk '{print $2/1024 \" MB\"}')\""
], [
"grep 'less' logs/info.log | tail -n 15"
], [
"ffmpeg -i /home/user/app/data/video/download/video.mp4 -vn -acodec libmp3lame -q:a 2 /home/user/app/data/video/download/audio.mp3"
]
],
inputs=[shell_text],
outputs=[shell_output],
)
return locals()
if __name__ == "__main__":
pass