2013-12-01から1ヶ月間の記事一覧
ここしばらく python 2.5 に対応した python コードを書いていなかったので気にもとめませんでしたが、 diff-highlight を書くときに python 2.4, 2.5 対応でハマったことについてまとめます。 ちなみに diff-highlight を python 2.4, 2.5 に対応させたのは…
Git の diff を美しく表示するために必要なたった 1 つの設定 #git にインスパイアされて作り始めた diff-highlight にあれこれ手を入れ、1.0.0 として正式リリースしました。 diff-highlight と git-contrib/diff-highlight の違い 差分の中で +/- の行数が…
hg-diff-highlight を実装するにあたって、difflib.Differ クラスの実装を一部コピーしました。Python のライブラリをコピーして自分のプロダクトに取り込むので、 どのように扱えばいいのかライセンス上問題ないか聞いて & 調べてみました。Python の標準ラ…
hg-diff-highlight という Mercurial 拡張を作った話を書いたのですが、 このエントリではその実装について、特に内部で使っている difflib の使い方についてご紹介します。 hg との連携部分 hg-diff-highlight では mercurial の diff 計算部分には手を入れ…
つい一昨日、Mercurial の diff を美しく表示するために必要なたった 1つの設定 という記事を書いたばかりですが、 diff-highlight の動作を見ているといくつか気になるところを見つけてしまいました。 diff-highlight のイケてないところ 差分の中で +/- の…
先ほどの記事 でエスケープシーケンスまわりについて調べている時に、 「出力先がターミナル(tty)の場合」と「出力先がファイル、その他の場合」でエスケープシーケンスを出し分けする方法が気になりました。たとえば、ls コマンドでは $ ls --color=auto と…
このエントリは Mercurial Advent Calendar 2013 の17日目です。 タイトルは Git の diff を美しく表示するために必要なたった 1 つの設定 #git のパクリです。すみません。↑の記事を読んで、単語単位で diff 表示のできる git + diff-highlight が羨ましく…
tmux 使えよって罵倒されそうですが、未だに screen を使っています。 ようやく vim のシンタックスハイライトを有効にして生活し始めたのですが、 開発に使っているさくら VPS に設定を反映したところ 16色モードで動いていると判断されているため jellybea…
僕は長らく vim を使っている(おそらく 14,5年)のですが、常にシンタックスハイライトをオフにして使っていました。 オフにしている理由は、特にメリットを感じなかったことと、もうひとつは編集時のハイライトの挙動です。 vim のハイライトは編集モードで…
vim 素人の @tk0miya です。 いままで .vimrc が 1バイト(改行文字)しかないってバカにされていたんですが、ようやくその呪縛を解く時が来ました。python のリントツールとしてよく使われている flake8 を編集時に実行しようと思っていろいろ調べました。 適…
一ヶ月ほど前から schema2rst をちょこちょことメンテナンスしています。 はじめは flake8 でコーディング規約のチェックをかけてみただけだったはずなのですが、 その流れであれこれいじっているうちに一ヶ月経ってしまいました。まだドキュメントや実装が…
昨日見かけた FakeSphinx を自分のテストコードの参考にしようといじっていたのですが、 その際に FakeSphinx は Sphinx 1.2系では動かないことが判明しました。 File "/Users/tkomiya/work/sphinx-contrib/sadisplay/tests/test_directive.py", line 29, in…
今日の Sphinx+翻訳 Hack-a-thon のテーマとして、Sphinx 拡張のテーマを書くというのをこつこつやってました。 いままで sphinxcontrib.blockdiag に始まり、sphinxjp.shibukawa に至るまでいくつも Sphinx 拡張を書いてきたのですが、 よく考えるとまとも…
testing.* シリーズも、mysqld, cassandra, postgresql と自分が使うであろうものは一段落していたのですが、 隣の同僚がついでに redis やっちゃえよ的なことを言ってきたので、勢いそのまま testing.redis を作りました。このモジュールを作る際にはじめて…
ここ数日、testing.mysqld や testing.postgresql のコード整理をしていた関係で、 ついでに testing.cassandra もこつこつ直していました。 バグを潰したり、インターフェースを統一したり、python 2.6 に対応してたりしているので、 Python と Cassandra …
testing.mysqld に @skipIfNotInstalled というデコレータを追加しました。 名前の通り、MySQL がインストールされていない場合にテストをスキップするというものです。 もちろん testing.postgresql にも入っています。(testing.cassandra はこのあと手がけ…
秋口から blockdiag の parser を書き換えていました。 blockdiag の parser は funcparserlib の graphviz parser (dot parser) のサンプルがベースになっており、 当初の実装はとてもシンプルだったのですが、blockdiag のために文法を足していく中で見通…
PyPI に testing.postgresql をリリースしました。 以前作った testing.mysqld と testing.cassandra の PostgreSQL 版ですね。 なにをするもの? テストを実行する際に PostgreSQL を起動し、終わった後に終了をしてくれるライブラリです。README の例を持っ…
昨日、@yuitowest に Interactive Shell for blockdiag のデザイン調整を依頼したときに気づいたのですが、 buildout で Google AppEngine の開発環境を整えるためのレシピである appfy.recipe.gae が buildout 2.x系では動作しなくなっていました。具体的に…
タイトルで言い切ってしまった。昨日は Python Developers Festa 2013.11 に参加してきました。 時間までに発表資料を作るタイムトライアル系のイベントだとずっと勘違いしていたのですが、 今回は話すネタがなかったのでまったり過ごすことができました。午…