add_docstring プログラム仕様

PythonコードにSphinx形式のDocstringを自動追加するツール。

このスクリプトは、指定されたPythonソースファイルに対し、LLM(大規模言語モデル)を利用して Sphinx形式のDocstringを生成し、新しいファイルとして出力します。 コマンドライン引数で対象ファイルのワイルドカード指定、出力ファイル名、 設定ファイルパス、使用するAIモデルのAPI、更新モード、上書きモード、 および処理後の一時停止オプションを制御できます。

add_docstring.py の技術ドキュメント

ai.add_docstring.initialize()[ソース]

コマンドライン引数を解析するためのArgumentParserを設定し、返す。

ツール名、説明、および必要な引数(対象パターン、出力名、INIファイルパス、AI選択、 更新モード、上書きモード、一時停止オプション)を定義します。

戻り値:

argparse.ArgumentParser, 設定済みのArgumentParserオブジェクト。

ai.add_docstring.main()[ソース]

プログラムのメインエントリポイント。

コマンドライン引数の解析、INI設定ファイルの読み込み、ワイルドカードによる対象ファイルの展開、 AI設定の読み込み、各ファイルに対するDocstring生成処理、および結果のファイルへの書き込みを行います。 更新モードや上書きモードに基づいたファイルのスキップロジックも含まれます。

ai.add_docstring.read_args(parser)[ソース]

ArgumentParserを使用してコマンドライン引数を解析し、結果を表示する。

`parser.parse_args()`を呼び出し、解析された引数とその値を標準出力に表示します。

パラメータ:

parser -- argparse.ArgumentParser, 設定済みのArgumentParserオブジェクト。

戻り値:

argparse.Namespace, 解析された引数を含むオブジェクト。

ai.add_docstring.read_ini(inifile=None)[ソース]

指定されたINIファイルを読み込み、設定を辞書として返す。

INIファイルのセクションなしのキー=値形式をサポートし、コメント行(#`または;`で始まる)、 複数行の値("""`または'''で囲まれたもの)、および変数展開(`$VARNAME)に対応しています。

パラメータ:

inifile -- str or None, 読み込むINIファイルのパス。Noneの場合、`search_file`関数で検索される。

戻り値:

dict, INIファイルから読み込まれた設定の辞書。

例外:

FileNotFoundError -- 指定されたINIファイルが見つからない場合。

ai.add_docstring.search_file(infile=None)[ソース]

指定されたファイルを現在のディレクトリ、またはスクリプトのディレクトリから検索する。

まず現在の作業ディレクトリを検索し、見つからない場合はスクリプトが置かれているディレクトリを検索します。

パラメータ:

infile -- str, 検索するファイル名。Noneの場合、実行スクリプト名に`.ini`を付加したデフォルト名を使用。

戻り値:

str or None, 見つかったファイルの絶対パス。見つからない場合はNone。