tkBase プログラム仕様

tkBaseモジュール

このモジュールは、Webアプリケーション(特にCGI)で利用される基本的なユーティリティ関数を提供します。 エラーハンドリング、HTML出力の初期化と終了、ファイル読み込み、INIファイル解析、パス操作など、 共通の処理を簡潔に行うための機能が含まれています。

関連リンク: tkBase.py ライブラリ技術ドキュメント

tklib.tkcgi.tkBase.end_html()[ソース]

HTMLページの終了部分を標準出力に出力します。

`<body>`と`<html>`タグを閉じます。`init_html`と対で使用することを想定しています。

戻り値:

None: この関数は値を返しません。

tklib.tkcgi.tkBase.handle_exception(exc_type, exc_value, exc_tb)[ソース]

例外をHTML形式で標準出力に表示します。

この関数は、CGI環境などで発生したPythonの例外を、ブラウザで表示可能なHTML形式で整形して出力します。 通常、`sys.excepthook`に設定され、未捕捉の例外発生時に呼び出されます。

パラメータ:
  • exc_type -- type: 例外の型。

  • exc_value -- Exception: 例外の値。

  • exc_tb -- traceback: 例外のトレースバックオブジェクト。

戻り値:

None: この関数は値を返しません。

tklib.tkcgi.tkBase.init_html(charset='utf-8')[ソース]

HTMLページの基本的な開始部分を標準出力に出力します。

Content-Typeヘッダと、HTML5の`<!DOCTYPE html>`、<html><head>`<body>`タグを 含んだページの骨格を出力します。指定された文字セットでmetaタグも設定されます。

パラメータ:

charset -- str: HTMLページの文字エンコーディング。デフォルトは "utf-8"。

戻り値:

None: この関数は値を返しません。

tklib.tkcgi.tkBase.read_file(path, charcode='utf8')[ソース]

指定されたファイルを読み込み、その内容を文字列として返します。

ファイルが見つからない、または開けない場合は`None`を返します。 ファイル読み込み時に例外が発生した場合は捕捉されません。

パラメータ:
  • path -- str: 読み込むファイルのパス。

  • charcode -- str: ファイルの文字エンコーディング。デフォルトは 'utf8'。

戻り値:

str or None: ファイルの内容を表す文字列、またはファイルが開けなかった場合はNone。

tklib.tkcgi.tkBase.read_ini(path)[ソース]

INI形式のファイルを読み込み、その内容を辞書として返します。

`#`で始まる行(コメント)、空行、`[`で始まる行(セクションヘッダ)は無視されます。 `key=value`形式の行のみを解析し、`key`と`value`の先頭・末尾の空白は除去されます。 ファイルが見つからない場合はエラーメッセージを標準出力し、`None`を返します。

パラメータ:

path -- str: 読み込むINIファイルのパス。

戻り値:

dict or None: INIファイルの内容を表す辞書、またはファイルが見つからなかった場合はNone。

tklib.tkcgi.tkBase.replace_path(path, template, ext_dict={})[ソース]

ファイルパスの各要素を抽出し、指定されたテンプレート文字列に適用して新しいパスを生成します。

与えられた`path`から、フルパス、ディレクトリ名、ファイル名、ファイル本体、拡張子を抽出し、 それらをキーとして`ext_dict`に追加します。 その後、この`ext_dict`と既存の`ext_dict`の内容を使って`template`文字列をフォーマットします。 ※この関数は`os`モジュールに依存しています。

パラメータ:
  • path -- str: 解析するファイルパス。

  • template -- str: パスの要素を埋め込むためのテンプレート文字列。例: "{dirname}/{filebody}.{ext}"

  • ext_dict -- dict: テンプレートのフォーマットに使用される追加のキーと値を含む辞書。 この辞書はパスの要素で更新されます。

戻り値:

str: フォーマットされた新しいパス文字列。

tklib.tkcgi.tkBase.set_error_handler()[ソース]

グローバルな例外ハンドラを`handle_exception`関数に設定します。

この関数を呼び出すことで、スクリプト実行中に捕捉されない例外が発生した場合に、 定義された`handle_exception`関数が呼び出され、HTML形式でエラー情報が出力されるようになります。

戻り値:

None: この関数は値を返しません。