Python/Subversion

提供:やる気向上作戦
移動: 案内, 検索

Python


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* は省略可能。省略した場合、デフォルトのプールが使われる。

参考文献

個人用ツール