Enchan1207 / blueprintpy

汎用パッケージコンフィグCLIジェネレータ

Home Page:https://enchan1207.github.io/blueprintpy/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CLIプロセス中でのKeyboardInterrupt

Enchan1207 opened this issue · comments

SIGINTをどうハンドルするか

blueprintpy.cli.cli.mainを直接実行するからこうなるんだよな
どうしようかな

entry_points.cfgに記述すると、実際の実行ファイルはこうなるのです

#!/usr/local/opt/python@3.9/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys
(CLIモジュールから関数をインポート)
if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(関数名())

なんで、とりあえず直接何かしらの関数を実行するってのは絶対条件…だと思う

mainじゃなくて bootstrapみたいなのを作るとか?

関数blueprintを新しく生成して、cliはそのままSIGINTだけ別でハンドルするようにした