Python

RE: Jenkins と Python の連携

はじめに 今回は、Jenkins と Python の連携についてです。 使用するツールは、とても便利なテストフレームワーク pytest と カバレッジ coverage との連携についてです。 pytest の連携 まず、テスト結果のレポートからです。 Jenkins 側へ追加のプラグイン…

github pages に Sphinx で生成したドキュメントを公開する。

Github Pages にSphinxで生成したドキュメントを公開するほうほうです。Github Pages では各リポジトリごとにプロジェクトページを作成することができます。 各プロジェクトごとにページを作成することでマニュアルなどの公開が便利にできます。Sphinx で生…

Sphinx で Google Analytics を利用する。

Sphinx で Google Analytics をトラックするスクリプトを埋めるのは どうすればいいんだろと思っていたら、 sphinx-contrib にプラグインが 公開されていました。 sphinxcontrib-googleanalytics https://bitbucket.org/birkenfeld/sphinx-contrib/src/bb0b2…

dotcloud に flask アプリをデプロイする。

はじめに 最近、dotcloud のアカウントを入手したので、Flaskアプリをデプロイしてみました。 dotcloud の最初の手順は、id:ymotongpoo の記事がわかりやすいです。 アプリケーションをデプロイする Flask アプリケーションをデプロイしてみます。ディレクト…

nose まとめ7 (nose plugin のインターフェース)

はじめに nose プラグイン用インターフェースの紹介です。nose プラグインは、インターフェースごとに動作するタイミングが決められています。 プラグインを実行させたい、タイミングで実行されるインターフェースを記述することで、プラグインを作成してき…

nose まとめ6 (nose プラグインの実行)

はじめに nose プラグインの実行方法です。 作成したプラグインは、明示的に指定しないと利用できません。 実行方法 nose プラグインの実行方法は、あらかじめ登録されているプラグインを呼び出すか 実行スクリプトからプラグインを登録し、実行させる2種類…

nose まとめ5 (nose plugin)

はじめに nose のプラグインの作成方法です。 役割 テスト関数から外れた処理をする場合は、プラグインを作成する必要があります。たとえば、次のような場合にプラグインを作成します。 各テスト実行後に特定処理を実行させたいが、テスト関数ごとに teardow…

nose まとめ4 (nose.tools を使う)

はじめに nose には、簡単にテストするための機能が用意されています。 機能は、 nose.tools パッケージにまとまっています。 いくつかの機能は、前回までに出ていますが、あらためて書いてあります。 使い方 nose.tools.ok_ ok_(expr, msg=None) expr が Tr…

nose まとめ3 (nose のsetup/teardown)

はじめに nose の基本的な使い方その2です。setup/teardown の動作についてです。 役割 テストを行う上で、あらかじめデータを用意しておく必要あったり、 テスト後に作成したデータを削除するときに利用します。詳しくは、他のブログなどをみましょう。 書…

nose まとめ2 (nose の基本的な使い方)

はじめに nose の基本的な使い方です。条件式がTrueかどうか、2値が等しいかどうかをチェックする方法です。 テストの作成 まずテスト用モジュールを作成します。モジュール名には、 "test" を含んでいる必要があります。 そのためテストしたいモジュール名+…

nose まとめ 1

はじめに nose を勉強しているので、自分用のまとめを公開していくことにしました。 nose とは nose は、Python 用のテストフレームワークです。Python には、 doctest、 unittest といったいくつかのテスト方法があります。 nose は、特に利便性が高く、か…

nose でテスト実行時のカバレッジを取得する。

はじめに nose の組み込みプラグインを利用するとテストで実行された時のカバレッジを取得できます。 テスト実行時のカバレッジを取得できるので、テストでカバーできていない範囲など確認できます。 カバレッジを取得する nose と python-coverage がインス…

platex経由でPDFを生成する。その2

前回の内容では、Sphinx プロジェクト内に画像ファイルが無いとエラーになってしまいました。 その現象は、すでに本家のレポートとして報告されています。そのパッチを参考に以下のようにすると、画像ファイルが無い場合にもエラーとならずPDFが作成できます…

platex経由でPDFを生成する。

はじめに Sphinx 1.0.6 から platex経由で日本語を含むPDFが出力できるようになりました。 以前は、LaTeX経由でのPDF作成のように、いろいろと手を入れる必要がありました。まだ利用方法のドキュメントが無いため紹介します。 platex経由でのPDF作成 まず、p…

erlang-domainを使ってみた。

Sphinx 1.0 からドメイン機能*1が追加されましたが、@shibukawaさんが、erlang-domain*2を公開されたので使ってみました。erlang-domainを使うことで、きれいにマークアップされたErlangドキュメントを書くことができます。1. まずは、インストールから $ ea…

第7回 Python温泉 1日目

例のごとく、Python温泉に参加しています。 ドキュメント作成時に、バージョンごとやドキュメントの種類で ソース(reST)のディレクティブを抜き出す方法を探していますが、 あまりいい方法は無いようです。Sphinxでは、拡張機能ifconfigを使うことで、バージ…

reSTでreadbleな改行を入れるには

日本語を書いていて、センテンスの途中に改行を入れたくなったときに 「\」を入れることで変換時に改行されるようですが、ラインブロックを使うほうがスマートです。 行の先頭に、「|」が入っちゃいますが、「\」よりはマシかと。ふつうに改行をいれるとき …

Python温泉

第6回 Python温泉に参加中です。 buildbotを調査してます、@shimizukawa さんにいろいろと教わって、入門編は突破した感じです。http://www.freia.jp/taka/blog/679 現在のポスト数 61 / 100

mysql-pythonを使うときに気をつけること

MySQLを自分でコンパイルをしている場合などに、mysql-pythonを利用しようとすると、以下のような Tracebackがでることがあります。 $ python >>> import MySQLdb Traceback (most recent call last): File "", line 1, in File "/usr/lib/python2.5/site-pa…

はじめてのTornado

レスポンスの遅い応答を返すデバック用サーバがほしかったので、 Tornadoで作ってみました。Tornado は、 URLパターン中に正規表現を入れると、リクエストハンドラーへリクエスト引数として渡すことができます。 class himote_check_handler(tornado.web.Req…

Snow Leopard で virtualenv が動かない

Snow Leopard がそのままでは動きません。 (version 1.3.3) すでに、Google Group上で議論されているようで、パッチがでています。 trunk にも反映されているようです。パッチを当てたら、動作しました。パッチを当てるか、trunk使いましょう。trunk (bitbuc…

Trac + mod_wsgi で動作させる

日本語情報を調べてみたけども、情報量が少ないのでメモがわりに。 Tracとmod_wsgiの公式サイトに設定例が載っています。 :OS: Fedora 11 :Python: python-2.6-9.fc11.i586 :Apache: httpd-2.2.11-8.i586 :mod_wsgi: mod_wsgi-2.3-3.fc11.i586 :Trac: 0.11.5…

aafigure

アスキーアートをパースして、画像ファイルを作ってくれるライブラリが公開されています。 インストールがいまいちうまくいってないのですが、使いこなせれば面白そうです。aafigure README: http://docutils.sourceforge.net/sandbox/cliechti/aafigure/REA…

第3回 Python旅館 初日まとめ?

id:nishiohirokazu 作、言語"カトレア" http://d.hatena.ne.jp/nishiohirokazu/20090807/1249649135 無茶ぶりしたら、作ってくれました。 ダイエットの話とかIRCヘリコプター SWIFT 01 レッド出版社/メーカー: 東京マルイ発売日: 2009/07/24メディア: おもち…

第3回 Python旅館

今回の会議室は、"カトレア" id:nishiohirokazu が言語"カトレア"を作ってくれるはず。 現在のポスト数 48 / 100

Kayでlogin_requiredする

KayというGoogle App Engine向けのすばらしいframeworkがあるのですが、 ログインしていないユーザからのアクセスを制限したいする場合のサンプルです。 from kay.auth.decorators import login_required ... @login_required def test(request): context = …

Shibuya.trac 第4回 に参加してきました。

会場が、Shibuya.trac なのに新宿でした。 内容はあとで書きます(たぶん Trac"Developer"というよりも、Trac"User"が多かったため、 いかにTracを使うかという発表が中心でした。 今回は、いつもと違う視点で、発表を聞けたのでためになった感じです。 いろ…

Trac : ISearchSourceの使い方

Tracプラグインで簡単な独自の検索用プラグインを作るときは、 ISearchSourceをインプリメントすると簡単です。 http://weekbuild.sakura.ne.jp/trac/を参考にさせて頂きました。 使い方は、 1. ISearchSource をインプリメントする 2. get_search_filters …

Tracプラグインの書き方メモ

0.11用のプラグインの書き方があった。 現在のポスト数 33 / 100

pytwitter

http://www.evil.ie/projects/python/pytwitter/ http://pypi.python.org/pypi/pytwitter/0.3GAE上でもそのまま使えそうな感じ。 現在のポスト数 30 / 100