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