Python/Subversion
提供:やる気向上作戦
SubversionのPythonバインディングについて
基本事項
- 一つのC APIに対し、対応する一つのPython関数が存在する。
- エラー構造体(svn_error_t)は決してPython APIの戻り値にはならない。代わりに、例外として投げられる。
- svn_error_t以外の戻り値は、そのままPython関数の戻り値となる。
- C APIの引数のうち、呼び出し側が変数のアドレスを渡し、関数内で何らかの値がセットされて返されるタイプのものは、Python APIにおいては戻り値になる。
- C APIの引数におけるコールバック関数とバトン(コールバック関数に渡すユーザデータ)ペアは、Python APIの引数ではファンクションオブジェクトのみに縮退する。すなわち、バトンは消滅する。ファンクションオブジェクトには、バトンを除くコールバック関数の引数が渡される。ユーザデータを渡したい場合は、Pythonのデフォルト引数を用いるべし。
- C APIのapr_hash_t* は、Pythonのディクショナリに対応する。
- C APIの最後の引数apr_pool_t* は省略可能。省略した場合、デフォルトのプールが使われる。