_process_output
ビューでのレンダリング直前。
dictにwidget、CSSとJSの指定を追加。
validate
weak_signature_decoratorにentangle関数を渡す。
entangleではvalidatorsを適用。
エラーでerrorhandling.run_with_errorsを呼ぶ。
_build_rules
コントローラーメソッド実行初回のみ呼ばれる?
メソッドに_expose(dispatch.generic(CustomDispatch)(_expose))追加。
expose
tg.session.automatic_lock?
formatを変えて複数指定可能。
トランザクションでラップ。
_execute_func
コントローラーメソッド実行。
ランダムな値にはtg_randomを使うのがいいかも。(tg.strict_parameters == Trueならここで除去される)
flash
クッキーにメッセージを書き込み。
_get_flash
メッセージを除去してしまうので注意。
url
ビューで使ってるtg.url。リストも指定可能。
redirect
cherrypy.HTTPRedirectを呼ぶだけ。
_get_formatters
_get_handlers
_get_loggers
.cfgファイルのログ設定を取得。
configure_loggers
上の三つの関数を呼ぶ。
ログ設定はdictから除かれる。dictはあとでcherrypyに渡る。
config_defaults
current_dir_uriを設定。
config_obj
セッティングを実行。
update_config
セッティングを追加。
SQLAlchemy対応
SQLObject対応
AutoConnectHub
sqlobject.dbconnection.ConnectionHubを継承。
トランザクション管理。begin、commit、rollback、endメソッド。
スレッドごとにconnectionとold_connを持つ。sqlobject.util.threadinglocal.local
AutoConnectHubはhub_directoryに登録される。
PackageHub
packagename.dburiからAutoConnectHubを作成。
commit_all
rollback_all
end_all
hub_directoryから全てのAutoConnectHubを操作。ただしスレッドローカルのみ。
so_columns
カラム名をdictで返す?