RQC-HU / sum_dirac_dfcoef

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)
https://pypi.org/project/sum-dirac-dfcoef/
GNU Lesser General Public License v2.1
0 stars 0 forks source link

Fix PrintVersionExitAction call signature #56

Closed kohei-noda-qcrg closed 10 months ago

kohei-noda-qcrg commented 10 months ago

リファクタリングでPrintVersionExitActionのcall関数で使っていない変数を消したが argparse.Action.call関数は5つの引数があることを予期しているので、関数内で使わなくてもオプションとしては必要だった

$ 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

したがって引数を元に戻し、LinterがWarningを出すので # noqa: ARG002をつけてWarningを出さないようにした

また、DIRACのアウトプットを読む以外の動作をするオプションsum_dirac_dfcoef -h および sum_dirac_dfcoef -vのテストを追加して、今後これらのオプションが正常動作しなくなったとき検出できるようにした