PylonsのHelpersでconfigをつかうには?

Filed in kvs | MongoDB | Pylons | Python Leave a comment

いやわかんないんですけど。
ちょっと詰まったものの時間切れなので備忘としてメモ。

どうなんだろと思ってhelpers.pyの先頭あたりで読んでみてprint
{‘pylons.app_globals’: None, ‘pylons.request_options’: {‘e以下略

厳しいなー
SQLAlchemy経由でなんかやってたときは困らなかったけど、Mongokitだとpylons.app_globalsにおいてあるconnection呼べないと動かせない。
こういうときのお作法はどうなってるんだろう。
Noneじゃなあ。実際動かしたときにもNoneのままかどうか確かめてみよう。

結果:
呼べてた。

def conftest():

    from pylons import config
    print(config)
    connection = config['pylons.app_globals'].connection
    print(connection)

なんだー

E11000 duplicate key error index

Filed in kvs | MongoDB | Pylons | Python Leave a comment

メモ。pymongoのはなし。
insertであたらしいObjectIdを発行してくれないことがある。

E11000 duplicate key error index: foo.bar.$_id_  dup key: { : ObjectId('4dbbc8b7d9b1324716000000') }

なんだ?

from pymongo.objectid import ObjectId
ObjectId()
→ObjectId('4dbbed47d9b132452b000000')

結局明示的に新しいId拾ってinsertしています。なんだー。

tokyotyrantを入れる

Filed in Database | kvs | Python Leave a comment

http://d.hatena.ne.jp/feiz/20090813/1250151478
このへんを参考に。
pythonから使うのにpytyrantなるものがよいとかなんとか。
今日はzlib2だかをなんとか放り込んでtokyocabinet、tokyotyrantをいれて、ここまで。時間切れ!

時間切れなんて酷い。
pytyrantとmemcachedを記事のとおりに入れて(使うのか?)

>>> import os,sys,re,urllib2,commands
>>> import pytyrant
>>> cli = pytyrant.Pytyrant.open()
Traceback (most recent call last):
File ““, line 1, in
AttributeError: ‘module’ object has no attribute ‘Pytyrant’
※typo。
>>> cli = pytyrant.PyTyrant.open()
>>> cli >>> cli[‘sft’] = “one-san”
>>> cli.get(“sft”)
‘one-san’

おーそういうことー
kvsが最近流行というかNoSQLっていうの?あちこち騒がしいので、乗っかっておかないとね。
cassandraは潤沢なリソース(メモリだけじゃなくてディスクもマシンも!)をがっつんがっつん使う分散環境で使うものらしいと今日知った。
どれがいいとかはさっぱりなんだけど、使うだけ使ってみようー。
んでtokyotyrantがNDIに乗るのか?
しるか。
importの一行目で明らかに今いらないはずのものをバカスカ読み込んでますが、これは癖です。あれひとまとめで個人的に1セット。

feizさん、とても分かりやすい記事でした。どうもありがとう!

TOP