Python
最近知ったのでメモ。float の引数に文字列で "inf" を渡すと inf オブジェクトが返ってきます。 >>> float("inf") inf inf に何を足しても inf です。 >>> inf = float("inf") >>> inf + 1 inf >>> inf + 1 == inf True inf から inf を引いたり、 inf に 0…
Pyxis は現在オープンソース化を目指して開発が進められています。 その第一歩として Pyxis で利用しているパッケージをオープンソースで公開することにしました。 http://code.google.com/p/pyxis-webframework/ tw.starrating は Amazon の 5つ星みたいな…
Paste の URLMap を利用すると VirtualHost と同じようなことができる。 [DEFAULT] debug = false email_to = foo@example.com smtp_server = localhost error_email_from = foo@example.com [server:main] use = egg:Paste#http host = 0.0.0.0 port = 5000…
http://lucumr.pocoo.org/2009/3/1/the-1000-speedup-or-the-stdlib-sucks http://bugs.python.org/issue5401 実行時間を計測してみました。試行1: >>> import timeit >>> setup = "from mimetypes import guess_type" >>> stmt = "guess_type('test.jpg')" …
PEP372 Adding an ordered dictionary to collections2008年6月 Armin Ronacher 氏による投稿。早く Python の標準パッケージに取り込んでほしい。Pyxis ではサードパーティの _ordereddict を利用している。posted by id:junya_hayashi
Pylons および依存パッケージを1つの pybundle ファイルにまとめる。 $ pip bundle pylons.pybundle Pylons 以下のようなパッケージ一覧ファイルを用意して、 requirement オプションで渡すとベター $ cat requirements.txt Beaker==1.2.2 FormEncode==1.2.1…
http://lucumr.pocoo.org/cogitations/2008/12/07/porting-to-python-3-dos-and-donts/ の翻訳です。原文のライセンスに従い、この翻訳は Creative Commons ライセンス (http://creativecommons.org/licenses/by-nc-sa/2.0/at/deed.ja) に従います。翻訳の誤…
mod_wsgi には embeded mode (Apache のプロセスと一心同体) とdaemon mode があるのですが、小さなWSGIスクリプト以外では daemon mode を使った方が応用が利きます。 そこで、mod_wsgi の daemon mode について調べてみました。まず、 mod_wsgi の daemon …
社内向けに書いたドキュメントですが、汎用的で役に立ちそうなので、少し手を入れて公開することにしました。 ログ出力 ファイルの先頭でログ出力用オブジェクトをを初期化し、以下のようにログを書き出してください。 import logging log = logging.getLogg…
Armin Ronacher が blog に Jinja2 のことを書いていました。http://lucumr.pocoo.org/cogitations/2008/04/13/jinja2-making-things-awesome/それによると、Jinja 2.x では、テンプレートの dynamic inheritance や ネームスペース付きのインクルード({% i…
久しぶりに Python の基本的な構文でハマりました。 class ContactForm(BaseForm): class fields(WidgetsList): name = TextField( label_text=u"お名前",) name_kana = TextField( label_text=u"フリガナ",) email = TextField( label_text=u"メールアドレ…
Python 合宿で WSGI を多人数で気軽に動かす方法を聞かれたのですが、 mod_wsgi を使えばできると思って、やってみました。 mod_wsgi のインストール 手元のVM は Ubuntu なので、checkinstall でソースからインストールします。 $ sudo aptitude install ap…
今、Controller でやっていることの一部を MapperExtension SessionExtension でやるとすっきりしそう。MapperExtension, SessionExtension では、insert や commit といった操作の前後にフックをかけられる。Posted by id:junya_hayashi
先日、WSGIはネットワーク図に似ているよね、という話題で盛り上がりました。 そのときに描いた図がこれです。Cascadeミドルウェアがハブ、Routesがルーター、AuthKitがファイアウォールといった感じで対応しています。それからつい最近、Ian Bickingの過去…
いまだにPaste のことをちゃんと理解していなかった。 paste.app_factory paste.composite_factory paste.filter_app_factory このあたりは、ちゃんと押さえておかなくてはならない。 [filter:main] use = egg:Pyxis#pyxiscomposite /blog = blog /wiki = wi…
任意の文字列に \' をマッチさせようとして、混乱したので書きます。 例題 pattern: \' string: backslash \' single quote 以下、raw 文字列を使った場合と使わない場合で、それぞれ書き方の答え pattern も string も raw 文字列 >>> re.findall(r'\\\'', …
結局、次のように実装しました。 # -*- coding: utf-8 -*- import inspect import pylons from pylons.templating import render from mako.template import Template from mako.lookup import TemplateLookup class MakoStringProcessor(object): """ rende…
When your are using some kind of middleware (ex. "Paste#urlmap") in development.ini, maybe you would like to run a command like this... $ paster setup-app --name=wiki development.ini In default, this command would not behave as expected. (…