EGitでPullができなーい

調べた。プロジェクト\.git\configに下記を追加 [remote "origin"] url = git@github.com:ユーザ名/リポジトリ名.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master Eclipseにてウィンドウ→設…

githubを使ってみた

ローカルのソースを登録した。 1.プロジェクトで右クリックして「チーム」→「プロジェクトの共用」 2.Aptana GitまたはGitを選択。(Aptana Gitの方が単純でわかりやすいかも) 3.Gitリポジトリーの構成でプロジェクトを選択して、作成ボタン押下。完了。 4.…

リストの中の一行を消したい

removeは駄目ー。 updateを使い給え。 from pymongo import Connection con = Connection('localhost', 27017) db = con['gazodb'] tbl = db['log'] tbl.update({'no': 95}, {'$pull': {'res':{'no':97}}}) no.95のデータにある、resのなかのno.97のデータの…

さてmockを試そう

よし、datetime.datetime.now()をmockで上書きするぞ! TypeError: can't set attributes of built-in/extension type 'datetime.datetime' ですって・・・。どうもdatetime自体は上書きする事が出来ない。 なので、patchを使って解決して下さいとのこと。 d…

3.3でたよ

早速試したい。unittest.mockが特に。 venvはいらん。参考: http://docs.python.org/py3k/whatsnew/3.3.html

クッキーその二

Cookieに日本語入るのにブラウザ側で取り出すとおかしくなるなどうなってんねん!とはまった。 普通に考えれば、日本語というか2バイト文字入らないよね・・・。 ※そういえばUTF-8が標準になろうとしている現代においては 2バイト文字と言うのも死語になりつ…

画面遷移の妙

フレキシブルな画面遷移の設定が出来ます。 てかまあ、Strutsよりは楽だわね。StrutsにはStrutsの良さがあるけどさ。__init__.py config.add_route('gazo_bbs', '/board') config.add_route('gazo_bbs_page', '/board/{page}') config.add_route('gazo_bbs_r…

エラーの制御

入力エラーなどでエラー画面に遷移したい。 お任せ下さい。Pyramidならすぐです。(WebFrameworkならどれも実装していそう)views.py class VariableError(Exception): def __init__(self, msg): self.msg = msg @view_config(context=VariableError, render…

GridFSのremoveってかDeleteってか

GridFS(バイナリ、というか絵とか映像とか)コレクションから削除したい、と言う時は 標準のメソッドとしてはremove({※検索文字列})を使うが、pymongo的にはdelete(file_id)なのだそうだ。 まあカラムは少ないし、うかつに消しすぎても困るのだろうという配慮…

クエリーについてドット表記

参考: http://www.mongodb.org/display/DOCS/Dot+Notation+%28Reaching+into+Objects%29あまり人の事は考えずに難しいSQLを書くのが好きな私は やはりMongoDBでも小難しく考えたくなる。 しかしDBの性質上小難しく書く事はあまりない、のではないだろうか。…

1.4が出そう

まだ1.4a1なんで適用はさせないけど、なかなかおいしい変更がある さらっと読んだ感じだと Easy Custom JSON Serializationは望んでいた変更だ。 http://d.hatena.ne.jp/sokky/20120911/1347377634みたいな事しなくてすみそうだもの。 Partial Mako and Cham…

カスタムタグ的ななにか

JavaプログラマなんでTaglibみたいなのが欲しい。 そういう質問をしたら、Webhelper使うか、Jinja2にはFilterが実装されているよ、との事。 ほほうFilterとな。初めて聞いた。 自分はmako党なんで、makoにもFilterなるものが無いか探してみた。参考: http:/…

Pycon2012に行ってきた

そこでメモった、試してみたい事を備忘録。・Mongodbを触る時はMongoMagicとかいうモジュールを使ってみる。 参考:https://github.com/RedBeard0531/MongoMagic MongoDB作ったエンジニアの一人が来日してて質問するすごい良いチャンスだったのに 英語で質問…

PostgreSQLの接続

今日はデータ移行のお仕事が舞い込んできた。 暇そうにしてたのが裏目に出たね。 データ移行だが、どうもフェッチだなんだが必要そう。 手段は問わないとの事なので、ここはPythonでの実装を目指そうか。 (一応、ストアドで何とかなりそうだなとは睨んでい…

jsonの変換

jsonは便利だけどオブジェクトについては 文字列に変換しろやこらって怒られる。その対処。 import json from bson.objectid import ObjectId #<-pymongoに含まれる from bson import json_util #<-pymongoに含まれる from datetime import datetime class m…

今作っているものと予定

・今作っているもの ふたば型の画像掲示板 PyramidベースのWebアプリ ログと画像はMongodbで管理 Nginx+uWSGIで軽さ重視だ!と言いたいところだけど公開しても人集まらないから困っている・次 DjangoのPython3対応版が出たような、テストなような状態なので…

セッションとクッキー

セッションはともかくCookieは悩んだ。まずはsession。 __init__pyにおまじない #session my_session_factory = UnencryptedCookieSessionFactoryConfig('secret') config = Configurator(settings=settings, session_factory=my_session_factory) 格納する.…

グローバル定数

グローバル定数を置く場所が欲しい。 というわけでプロジェクトの中にconst.pyを置く。 #定義 MAX_KB = 512 # 最大KB pyからだとこんな感じに参照 from myprj import const print(const.MAX_KB) makoテンプレートファイルからだとこんな感じ <%! from myprj …

updateの$pushをつかって入れ子構造のデータを作りたい

あるフィールドにドキュメント丸ごと突っ込んで入れ子構造にしたい時は そのフィールドの値を配列型にしておかなければいけないらしい。例 {'no': 4, 'key':''}というデータに対しては #Pythonのコード。いろいろ省略 tbl.update({'no': 4}, {'$push': {'key…

Pydevの注意

Pydevでデバッグ実行すると止まる症状。[Eclipseホーム]\plugins\org.python.pydev_2.7.0.2012080220\pysrc\_pydev_execfile.py (バージョンはその時々で違うかも) stream = open(file, 'rb') try: encoding = None encoding = 'utf-8' #<--追加してあげる #…

Eclipseから実行させたいとき

Scaffoldsでガワだけつくった後 __init__.pyに__main__をつけてやればおk if __name__ == '__main__': #Localでの実行環境用 from wsgiref.simple_server import make_server #Server Start app = main({}) server = make_server('0.0.0.0', 8080, app) ser…

コードのテスト

いきなりだけど、PyramidでMongodb接続するときはこんな感じ。__init__.py def main(global_config, **settings): #MongoDB Connect conn = Connection('localhost', 27017) config.registry.settings['db_conn'] = conn def add_mongo_db(event): #接続情報…