2014-01-01から1ヶ月間の記事一覧
今までスキーマーの管理は普通に SQL ファイルで管理していた。 別に DDL を書くのは苦痛じゃないし分かり易いので良いんだけど、マイグレーションツールに Alembic を使ってみようと試している。 """Create users table. Revision ID: 197f6c68376 Revises:…
Python2.7 と Py.Test の組み合わせた場合に、examples にあるのが動かないと報告頂いた。 @pytest.fixture def setup(): setup = TestApp(create_app) return setup @autodoc.describe('POST /') def test_post(setup): res = setup.post_json('/', params=…
Ruby の Autodoc や Perl の Test::JsonAPI::Autodoc を真似て Python の Autodoc を作った。 GitHub - heavenshell/py-autodoc: Autodoc Python implementation. # まだ PyPi にはアップしてないアップロードした。 もともと Jokk という Mock サーバを作っ…
Google が作っている DI フレームワークに Pinject というのがあるのを知った。 Injector とどう違うのか試してみた。 詳しくは GitHub の Pinject のドキュメント参照。 # -*- coding: utf-8 -*- import pinject class Base(object): def save(self, path):…
Flask の render_template() で Jinja2 にちゃんと context が渡ったかどうかテストしたい。 from flask import Blueprint, render_template app = Blueprint('index', __name__, url_prefix='/') @app.route('/') def index(): return render_template('ind…
テストコードでテストデータを作る時に今までは以下のようにしてた。 from unittest import TestCase from models.user import User class TestUser(object): def setUp(self): self._init() def _init(): user = User(name='foo', password='pass') db_sess…
/tmp/python/virtualenvs/py3kproject/lib/python3.3/site-packages/pymysql/converters.py line 116 in convert_datetime if ' ' in obj: TypeError: Type str doesn't support the buffer APIってエラーが出た。 原因は SQLALCHEMY_DATABASE_URI = 'mysql+…
Packer を使って box ファイルの作成が完了したので、ローカルの Mac に Vagrant を使って CentOS6.5 を起動させた。 Ansible はローカルの Mac に 1.4.3 をインストール。 Vagrant のネットワークは NAT でホストの Mac からは IP アドレスを直接うっても s…
Injector を使って DI してるんだから、テストコードからも置き換えたいよねーってお話。 # Mock を使って差し替える事も出来る app.py # -*- coding: utf-8 -*- from flask import Flask from flask.ext.injector import init_app, post_init_app from bind…
Ansible を試そうと思って、構成管理するサーバをとりあえず Vagrant を使って建てようとした。 box ファイルをどうしようと悩んだが Packer を使って自分で作ってみる事にした。 0.5.0 で後方互換を無くす仕様変更があり、ハマったのでメモ。 # 典型的な Ya…
Flask-Injector を試してる時に、これはどうしたら良いんだろうというのがあったので、色々試してみた。 コンストラクタに引数を渡したい 色々試していて以下のようにコンストラクタに引数を受け取りたい場合はどうしたら良いのか試行錯誤した所、binds でイ…
Python というか Flask でも DI コンテナ欲しいなーと思う事がある。 去年書いていたコードでは最初アップロードしたファイルの保存を Flask が動いているサーバのファイルシステムに保存していたが、後から RiakCS に保存するという仕様変更を行った。 こん…
今年は本格的に Python3 に移行しようと重い腰を上げた。 まずは自作の Flask のプロジェクトジェネレータを Python3 対応にした。 Application factory 内で itereitems() を使っている所があったので、_compat.py を作りその中で iteritem をラップするも…