This program summarizes the coefficients from DIRAC (http://diracprogram.org) output file that the .ANALYZE option and *PRIVEC and .VECPRI options in **ANALYZE section are used. (c.f. http://www.diracprogram.org/doc/release-23/manual/analyze/privec.html)
$ sum_dirac_dfcoef -v
Traceback (most recent call last):
File "/home/noda/.pyenv/versions/3.9.15/bin/sum_dirac_dfcoef", line 5, in <module>
from sum_dirac_dfcoef import main
File "/home/noda/develop/sum_dirac_dfcoef/src/sum_dirac_dfcoef/__init__.py", line 1, in <module>
from sum_dirac_dfcoef.sum_dirac_dfcoef import main # noqa: F401
File "/home/noda/develop/sum_dirac_dfcoef/src/sum_dirac_dfcoef/sum_dirac_dfcoef.py", line 8, in <module>
from sum_dirac_dfcoef.args import args
File "/home/noda/develop/sum_dirac_dfcoef/src/sum_dirac_dfcoef/args.py", line 56, in <module>
args = parse_args()
File "/home/noda/develop/sum_dirac_dfcoef/src/sum_dirac_dfcoef/args.py", line 53, in parse_args
return parser.parse_args()
File "/home/noda/.pyenv/versions/3.9.15/lib/python3.9/argparse.py", line 1825, in parse_args
args, argv = self.parse_known_args(args, namespace)
File "/home/noda/.pyenv/versions/3.9.15/lib/python3.9/argparse.py", line 1858, in parse_known_args
namespace, args = self._parse_known_args(args, namespace)
File "/home/noda/.pyenv/versions/3.9.15/lib/python3.9/argparse.py", line 2067, in _parse_known_args
start_index = consume_optional(start_index)
File "/home/noda/.pyenv/versions/3.9.15/lib/python3.9/argparse.py", line 2007, in consume_optional
take_action(action, args, option_string)
File "/home/noda/.pyenv/versions/3.9.15/lib/python3.9/argparse.py", line 1935, in take_action
action(self, namespace, argument_values, option_string)
TypeError: __call__() takes 1 positional argument but 5 were given
リファクタリングでPrintVersionExitActionのcall関数で使っていない変数を消したが argparse.Action.call関数は5つの引数があることを予期しているので、関数内で使わなくてもオプションとしては必要だった
したがって引数を元に戻し、LinterがWarningを出すので # noqa: ARG002をつけてWarningを出さないようにした
また、DIRACのアウトプットを読む以外の動作をするオプションsum_dirac_dfcoef -h および sum_dirac_dfcoef -vのテストを追加して、今後これらのオプションが正常動作しなくなったとき検出できるようにした