cli更新 -p参数设置端口

This commit is contained in:
xunbu
2025-07-03 21:55:22 +08:00
parent 744f6f9417
commit 12851a3bb0
2 changed files with 20 additions and 4 deletions

View File

@@ -482,8 +482,8 @@ def find_free_port(start_port):
port += 1 # 端口被占用,尝试下一个端口
def run_app():
initial_port = 8010
def run_app(port=8010):
initial_port = port
try:
# 首先检查初始端口是否可用
port = find_free_port(initial_port)

View File

@@ -5,7 +5,7 @@ import sys # 用于检查命令行参数数量
def main():
parser = argparse.ArgumentParser(
description="DocuTranslate: 一个文档翻译工具。",
epilog="示例: docutranslate -i (启动图形界面)" # epilog 会显示在帮助信息的末尾
epilog="示例: docutranslate -i (启动图形界面)\ndocutranslate -i -p 8081 (启用端口号8081)" # epilog 会显示在帮助信息的末尾
)
parser.add_argument(
"-i", "--interactive", # 添加一个长选项,更友好
@@ -13,6 +13,18 @@ def main():
help="打开图形化用户界面 (GUI)。"
)
parser.add_argument(
"-p", "--port",
type=int, # 指定参数类型(例如整数)
default=8010, # 默认值(可选)
help="指定端口号默认8010"
)
parser.add_argument(
"--version", # 添加一个长选项,更友好
action="store_true",
help="查看版本号。"
)
# 如果你想在未来添加其他非GUI的命令行功能可以在这里添加更多参数
# parser.add_argument("input_file", help="要翻译的文件路径", nargs="?") # nargs="?" 使其可选
# parser.add_argument("-l", "--language", help="目标语言")
@@ -34,7 +46,10 @@ def main():
# 调用核心逻辑
if args.interactive: # 注意这里是 args.interactive对应 "--interactive"
from docutranslate.app import run_app
run_app()
run_app(port=args.port)
elif args.version:
from docutranslate import __version__
print(__version__)
else:
print("提示:若要启动 DocuTranslate 图形界面,请使用 -i 或 --interactive 选项。")
print("\n用法示例:")
@@ -46,5 +61,6 @@ def main():
# parser.print_help()
sys.exit(1) # 以错误码退出,表明命令未按预期执行
if __name__ == "__main__":
main()