05082010 Emacs
一昨日、新宿のヨドバシマルチメディア館に探しに行ったんだけど、まだ店頭には並んでなかった。なので、アマゾンでポチっといた。
05082010 Emacs
一昨日、新宿のヨドバシマルチメディア館に探しに行ったんだけど、まだ店頭には並んでなかった。なので、アマゾンでポチっといた。
jsonifyっていう関数が用意されているので楽ちん
@app.route('/json/tags')
def show_tags():
tags = db_session.query(Tag).all()
return jsonify(tags = [tag.name for tag in tags if len(tag.entries) > 0])
03082010 life
両方ともおもしろかったけど、夢があるのはARかな。amazonであわせて買うと送料無料になるのでちょうどいい。
環境下するコンピュータとヒトの関わり合い。生活や政治などにどう入り込んでくるかというあたりの話。
拡張現実について。カメラに移した紙の上にキューブとか人形が表示される程度の認識だったけど、もっと広義に捉えていて、生活にどう関わってくるのかとか。本書を読んで現実の拡張なんだなと理解した。かなり面白かった。現状は眼球の外側で上書きしてるけど、その間の信号に干渉できると真の拡張現実だよなとか。
電脳コイルは名作
清水町のエスポットの向かいのJackにいってきた。

期間限定の冷やし鶏梅しそが美味。ゲル状のスープが麺に絡んでうまい。

とんこつラーメンはまろやかクリーミーで、塩分控えめな感じでうまいのはうまいんだけど、途中で食べ飽きた。ストレートすぎるっていうか奥行きが。カクテキとかなんかトッピングでもあればまた違うのかもしれんけど。
豚まんまもそんな感じで、かつおぶしと豚一直線的な。

結論: 期間限定美味かった。
以前から気になっていた季凛さんへお邪魔。

鱧の子の煮こごりうまい。ランチなので酒なしなのが惜しい。お鍋はほんのりターメリックの色が付いていてじゅんさいとか麸とか精進っぽい感じ。

鮪にマスタードって合うのね、鮪は美味しかったが、鯖の西京焼きが旨すぎ。ひじき入りご飯(押麦入り)は妻の分を息子がほとんど食べてしまった。

水菓子はコーヒー風味のコンニャク。コンニャクだけにゼリーよりも歯ごたえがあって、不思議な感じ。まぁ、息子にほとんど分け与えましたが。

という感じで、かなり満足の内容だった。鱧が気になる。
料理の内容の間違いを訂正した。ご指摘ありがとうございました。
make_responseでresponseオブジェクトを作って、Content-Typeを設定する。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
response = app.make_response(rss)
response.headers['Content-Type'] = 'application/rss+xml'
return response
if __name__ == "__main__":
app.run()
RSSの生成には、ElementTreeを使うかエキスパートPythonプログラミングにあるようにテンプレートを使う。
夕方でかけていって、トマトとミニトマトをほとんど処分した。今収穫できる野菜はゴーヤと甘長美人くらいしかないなぁ(あと紫蘇)。モロヘイヤ位は植えておけばよかった。

さっぱりしたが、この後に何を植えるかは決まっていない。とりあえず暇をみつけて 堆肥入れて耕して石灰撒いておこう。
オクラも実がなってきてた。

01082010 Python Flask SQLAlchemy
なぜかFlaskではなくSQLAlchemyではまる
よくあるタグとエントリーの多対多のテーブル。
entry_tags = Table('entry_tags', Base.metadata,
Column('entry_id', Integer, ForeignKey('entries.id')),
Column('tag_id', Integer, ForeignKey('tags.id'))
)
class Tag(Base):
__tablename__ = 'tags'
id = Column(Integer, primary_key=True)
name = Column(String(128), unique=True)
entries = relation("Entry", secondary=entry_tags)
class Entry(Base):
__tablename__ = 'entries'
id = Column(Integer, primary_key=True)
title = Column(String(128), unique=True)
content = Column(Text())
pubdate = Column(DateTime)
tags = relation("Tag", secondary=entry_tags)
このとき、タグをもつエントリを検索したい。単にエントリ最新10件をとってきたい場合には
entries = db_session.query(Entry).order_by(Entry.pubdate.desc()).limit(10)
でいい。
続いて、あるタグがふられているエントリの最新10件をとってきたい場合にどう書いていいか悩んだ挙句、結局わからなかったのでINを使うことにした。
tag_ids = [t.id for t in db_session.query(Tag).filter(Tag.name == tagname).first().entries]
entries = db_session.query(Entry).filter(Entry.id.in_(tag_ids)).order_by(Entry.pubdate.desc()).limit(10)
filterかfilter_byに何入れればいいんだろう?
relationでorder_byを設定すればよかった。
entries = relation("Entry", secondary=entry_tags, order_by=Entry.pubdate.desc)
でもって
entries = db_session.query(Tag).filter(Tag.name == tagname).first().entries
とすれば、あるタグを含むエントリを日付の最近の順に取ってくる。