WSGI

PylonsなどPasteベースなPython Web アプリケーションを FastCGI で動かす方法

PylonsなどPasteベースなPythonWebアプリケーションをFastCGIで動かす方法

Pylons上のMakoでToscaWidgets使ってみる

もうなんだか組み合わせがえらいことになってきている。 ToscaWidgetsのtwformsはテンプレートエンジンにGenshi使ってるし。まずはwsgiミドルウェアを設定する。 config/middleware.py ... from toscawidgets.middleware import make_middleware ... def mak…

mod_wsgi

mod_wsgiが1.0に向けて、フリーズに入る模様。 http://groups.google.co.jp/group/modwsgi/browse_thread/thread/cd10a9687aea282f/63c921504216c8ec#63c921504216c8ec

もうちょっとだけがんばってみた

分かったのは root.py の RootController にexposeで修飾したメソッドを追加すると、そのメソッドをurlで指定できる。 クラス変数で他のコントローラを設定しておくと、その名前とメソッドをurlで指定できる。 文で分かりやすく書けないのだが、 class RootC…

TurboGears2を予習してみる。

以下の内容は、Subversionのtrunkから取得したコードで試しています。http://svn.turbogears.org/trunk/INSTALL.txt を見ると、PylonsとTurboGearsをそれぞれSuversionのtrunkからとってくるように書いてある。 $ svn co http://pylonshq.com/svn/Pylons/tru…

いろんなもの使ってSBM その2 データアクセス

さて、ブックマークを保存する部分を考えよう。深く考えずに、ひとまずDBに入れることにする。 データアクセスにはSQLAlchemyを使う。オブジェクトをテーブルをまたいでマッピングできたり、継承構造をマッピングする方法を選択できたりと柔軟なO/Rマッパー…

Paste 1.4リリース

http://pythonpaste.org/news.html#id1 WSGIベースのWebアプリケーションを作るのに便利なツール集Pasteの最新バージョン1.4が昨日リリースされたようです。 PasteDeploy, PasteScriptは変わっていない模様。

いろんなもの使ってSBM その1 ゼロ機能リリース

setuptoolsレディなプロジェクトを生成する。 paster create wsgibookmark色々質問されるが、そこは適宜答える(全部空でもOK) $ cd wsgibookmark $ ls setup.cfg wsgibookmark setup.py wsgibookmark.egg-info生成されるのはこんな感じ このうちwsgibookmark…

WSGIミドルウェアはてな認証

以前書いたものを修正してcheeseshopに登録した。http://cheeseshop.python.org/pypi/wsgihatenaauthCookieにBase64だけで入れていたのを、暗号化するように修正。

調べたいもの

http://wsgi.org からいろいろ発見 Beaker セッションコンテナ Barrel 認証系 selector URLディスパッチャ selectorはprefixが使える分urlrelayよりも高機能なの?

lxmlを使ったpush型テンプレート

webstringが結構よさげだったのだが、少し気になる点があった。 構造化したデータモデルをプッシュするのが少し複雑な気がする。 classが指定されているエレメント内のclassを使ってプッシュできない。 エレメントの出現順序に依存している部分がある。 もう…

webstringとマイクロフォーマット

webstringはマイクロフォーマットと相性がよさそうだな hatomに従っているhtmlはwebstringを経由してみると、全く違いが出てこない。

webstring

http://psilib.sourceforge.net/webstring.htmlcElementTreeとlxmlをエンジンにしているテンプレートエンジンのようなもの。 普通のテンプレートエンジンと趣が異なる。 通常はテンプレート内にタグやスクリプトレットを埋め込み、ロジック層やコントロール…

DeliveranceをWSGIFilterとして使う

まあ、entory-ponintがあるので、PasteDeployで設定しとこう [filter:deliverance] use = egg:Deliverance#main theme_uri = file://%(here)s/deliverance/theme.html rule_uri = file://%(here)s/deliverance/rule.xml とりあえずstatic-appで試そうとした…

ToscaWidget 続き

さて前回は値をFormWidgetに設定して表示させた。 後は受け取る側の処理だ。 素の状態のWSGIアプリケーションで取得できるのは、GETのクエリ文字列やPOSTのコンテンツボディだけ。 dictになって渡ってくるわけではない。 これは、入力内容が必ずしもurlencod…

ToscaWidgetも試してみる(結局Paste)

サンプルが動きませんorz File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ToscaWidgets-0.1a2dev_r2777-py2.5.egg/toscawidgets/middleware.py", line 47, in __call__ environ['paste.registry'].register(toscawid…

PythonPasteの仕組み(っていうかsetuptools)

PasteDeployはWSGIアプリケーションの配備設定をiniファイル形式で書けるのだが、この裏ではどんな仕組みを使っているのか。 PasteDeployで設定ファイルに記述するときに、egg:Paste#wsgiutilsと書くと、Paste egg のentory_points.txt内からwsgiutilsを探し…

urlrelay

http://cheeseshop.python.org/pypi/urlrelay/0.6 ni先生から教えていただいたモジュール Colubridよりさらに、シンプルなWSGIディスパッチャ。 ところで、サンプルコードはデコレータに@がついてないのだが。 URLパターンとHTTPメソッドで実行するWSGIアプ…

Deliverance

http://www.openplans.org/projects/deliverance/ ルールベースで、テーマファイルとコンテンツファイルの内容を入れ替えたりできるフィルタ。 プロキシサーバーとして使うことも出来るし、WSGIミドルウェアとして使うことも出来る。 XPATHを使ったルールベ…

WSGI関連メモ

使うと思われるもの Paste Flup Twill py.test wsgiauth Colubrid Genshi FormEncode ToscaWidgets SQLAlchemy Pasteはwsgiアプリケーションを構築する時に便利なユーティリティ、ミドルウェア。config関係をどうしようかと思っていたが、これが一番親和性が…

wsgiauthでopenid

wsgiauthはopenid認証にも対応してます。そのまま使おうとしても足りないものがいくつか。 - python-openid - python-urljr - python-yadis 以上のモジュールが必要。 pypiに登録されてるのでeasy_installですぐ入れられます。簡単な使い方 from wsgiauth.op…

wsgiauth でBasic認証

WSGI認証ミドルウェアライブラリwsgiauthを使ってBasic認証 http://cheeseshop.python.org/pypi/wsgiauth ドキュメントが見つからない*1ので、ソースから使い方をチェック。 from wsgiauth import basic realm = "wsigh auth test" def authfunc(env, user, …

mod_wsgi 試運転してみていた

公式リリースがまちどおしいmod_wsgiをsvnから取って動かしてみてました。 導入はとても楽だった。 ./configure && make && make install でいいと思う。 僕はmakeしたあと手動でmod_wsgi.so をコピーしたけど。 (ちなみにlinuxだと.libsのしたにmod_wsgi.so…

wsgi environ

ドキュメントには書かれていないが, requestオブジェクトのenvironアトリビュートからWSGI環境辞書にアクセスできる. WSGIミドルウェアはこの辞書に情報をのせてくることが多いので要チェック

mod_wsgi の登場が近い

http://d.hatena.ne.jp/perezvon/20070320/1174363964 http://d.hatena.ne.jp/Voluntas/20070320/1174372431google code にホスティングされているようで. さすが軍曹svn からとれるので試してみた 環境は, Macbook Mac OSX 10.4 付属のApacheのバージョンは…

Lighty + SCGI + Flup + Colubrid で動かしてみようとしてみたけど

タイトルの組み合わせでうまく動いてくれない. class MyApplication(WebpyApplication): urls = [ (r'^blog$', Blog), (r'^(index)?$', Site), ] 上記のディスパッチャを組んでみたが, 常にSiteを呼び出してしまう.調べてみると, Colubridはリクエストディス…

Colubrid

関西Workshop01で細江さんがライトニングトークしてくださるColubridを予習 http://wsgiarea.pocoo.org/colubrid/基本はリクエストディスパッチャー。 そして、WSGI対応。 ディスパッチに特化しているだけあって、多彩なディスパッチ方法をサポートしている…

WSGIはてな認証ミドルウェア

WSGIの勉強としてはてな認証ミドルウェアを作っちゃいました。 """ WSGI middleware for Hatena Auth """ import md5 import base64 import re import urllib import urllib2 import simplejson certUrl = "http://auth.hatena.ne.jp/auth?api_key=%s&api_si…