Appengineの新しいリリース1.1.8が来た。色な面白いところがあるけど、仲居さん(id:Voluntas)のブログポストからピックアップする。
- ByteStringProperty が実装 気軽に使える BlobProperty
- UserProperty に auto_current_user / auto_current_user_add が追加。
- DateTimeProperty と同じ動作すると思われ。
- PolyModel が追加されました。
- Django の継承と一緒、使い方は簡単です。
from google.appengine.ext import db from google.appengine.ext.db import polymodel class Entity(polymodel.PolyModel): created = db.DateTimeProperty() class Status(Entity): message = db.StringProperty() class Clip(Entity): url = db.StringProperty() - Image API に width/height が実装されました
- db.Model.order() にて __key__ のソートが出来るようになりました。bugfix
僕が気になったところがもう一個あるんだけど、このリリースにて、antlr3というモジュールが必須となった。1.1.8をインストールして動かそうたしたら、
ImportError: No module named antlr3
が出てきた。理由はappengine_djangoを使ってること。appengine_djangoはgoogle_appengine/lib/antlr3のモジュールをインポートしてなかったので、エラーが出てきた。appengine_djangoのSVNの最新版を使えば、解決する。
何で、antlr3が必要になったというと、実際コード見ると、google_appengine/google/appengine/cronで、groc.py, GrocLexer.py, GrocParser.pyがある。grocというcronみたいなサービスがもうすぐ出るかもしれないね。GrocLexer.pyとGrocParser.pyはantlr3を使ってcronの時間設定文字列を解析するパーサーだという。面白い。