Mako の Dynamic Inheritance

Mako では、下記のように動的に継承元のテンプレートを切り替えられます。 <%inherit file="${context.get('parentTemplate')}"/> 参考 Dynamic Inheritanceposted by id:junya_hayashi

Pyxis のデフォルトテンプレート

Pyxis のデフォルトテンプレートを mako から Jinja に浮気しようと画策中。Jinja は Django のテンプレ―トから派生したものなのですが、「Sandboxed」を謳っています。 The whole engine is completely sandboxed. A template designer won't be able to mo…

Pyxis のドキュメント生成

Pyxis のドキュメント生成では、EpyDoc と Sphinx を使っています。Pylons 0.9.6.1 のデフォルトでは Pudge を用いた仕組みが提供されているのですが、Pudge のメンテナンスが遅れている(古いバージョンのKidなどに依存している)ため、うまく動きません。S…

mod_wsgi で WSGI アプリケーションを動かす

Python 合宿で WSGI を多人数で気軽に動かす方法を聞かれたのですが、 mod_wsgi を使えばできると思って、やってみました。 mod_wsgi のインストール 手元のVM は Ubuntu なので、checkinstall でソースからインストールします。 $ sudo aptitude install ap…

SQLAlchemy のメモ

今、Controller でやっていることの一部を MapperExtension SessionExtension でやるとすっきりしそう。MapperExtension, SessionExtension では、insert や commit といった操作の前後にフックをかけられる。Posted by id:junya_hayashi

Pylons-ja

いつものメンバーで Python Developers Camp 2008 Winter に参加してきました。で、その勢いで Pylons-ja コミュニティを作成しました。Pylons や WSGI にご興味のある方、ぜひご参加ください。Posted by id:junya_hayashi

WSGIをネットワークに例える

先日、WSGIはネットワーク図に似ているよね、という話題で盛り上がりました。 そのときに描いた図がこれです。Cascadeミドルウェアがハブ、Routesがルーター、AuthKitがファイアウォールといった感じで対応しています。それからつい最近、Ian Bickingの過去…

独立した複数のPylons Application を一度に動かす方法

いまだにPaste のことをちゃんと理解していなかった。 paste.app_factory paste.composite_factory paste.filter_app_factory このあたりは、ちゃんと押さえておかなくてはならない。 [filter:main] use = egg:Pyxis#pyxiscomposite /blog = blog /wiki = wi…

Python の raw 文字列を用いて正規表現を書く

任意の文字列に \' をマッチさせようとして、混乱したので書きます。 例題 pattern: \' string: backslash \' single quote 以下、raw 文字列を使った場合と使わない場合で、それぞれ書き方の答え pattern も string も raw 文字列 >>> re.findall(r'\\\'', …

DBに格納したmakoテンプレートをレンダリングする(2)

結局、次のように実装しました。 # -*- 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…

paster setup-app --name=wiki development.ini

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. (…

DBに格納したmakoテンプレートをレンダリングする

Pylons において、DBに格納したMakoテンプレートをレンダリングするために調べたことを公開します。 Buffet Pylons は、pylons.templating:Buffet を介してテンプレートをレンダリングしています。こんな感じ。 render() render() Pylons --------> Buffet -…

テックランチ

業務の合間をぬって、Pyxis テックランチをしました。 話題はRoutes の Application 間共有の問題。Pyxis ではフロントと管理画面を別WSGIApplication として実装することを検討しているのですが、これがなかなか難しいです。 Routes の仕組み Routes の主な…

Pixis 図

簡単ですが「Pixis」の位置づけをイラストにしました。

今、家に帰ってきました

今家に帰ってきました。今朝は、せっかく技術的なブログを書いたのですが、誤って消してしまった。orz。今日は、城ヶ崎海岸の門脇吊橋から海沿いを歩き、城ヶ崎海岸駅近くのお店でパスタを食べて、高原の湯で露天風呂につかり、昼寝して、新幹線で帰ってきま…

合宿3日目

合宿3日目が始まりました。夜中に雪が降って、一面雪景色です。

合宿2日目、スタートです。

煙草を吸う人が一人もいないと言ったら宿の人が驚いていたけれども、みんな酒もあまり飲まない。内2名は、乾杯ビール10mlのみ。これを聞いたらもっと驚くだろうなぁ。宿の人の好意で、会議スペースも使わせてもらうことになったので、今日はホワイトボードな…

Pyxisの設計について議論しました。

いつになく真剣な面々。けしてポーズではありません?

雪が降りました。

明日の朝は雪原色に染まっているでしょうか…?てか、寒!

合宿初日

合宿初日がはじまりました!写真は、踊り子号113号からの写真です。 「伊豆高原」の駅にはいろんなアートが飾ってあって、改札を出てすぐのところの絵がとても気に入りました。濱田秀美さんの作品です。 今日の夕食は鍋。超楽しみです。

鍋、超うまい!

なかなか良さげな一日目終了!!

先発4人のうち2人が遅刻したり、N原さんが公衆電話で財布を忘れたり、ネットワークの接続にてこずったり、トラブルにも見舞われましたがなかなか良さげな一日目でした。今日やったことは、各マシンの環境構築と名前空間のリファクタリングです。名前空間がビ…

PYXIS開発ブログをはじめました

Pylons ベースのフレームワークPyxisの開発状況や技術情報などをお送りする「Pyxis開発ブログ」を開始しました。今後の記事にご期待下さい!