読者です 読者をやめる 読者になる 読者になる

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

Python Hack-a-thon #1

すでにキャンセル待ち状態ですが、告知をしておきます。 申し込みは以下から http://atnd.org/events/649Python trunk リーディング (Code Reading) とかもあります。 詳細 http://d.hatena.ne.jp/Voluntas/20090426 現在のポスト数 29 / 100

Epydoc

Epydoc 書き方 http://epydoc.sourceforge.net/epytext.html docstringもキレイにだしてくれます。 出力イメージ http://docs.nullpobug.com/django/trunk/ http://epydoc.sourceforge.net/stdlib/identifier-index.html 現在のポスト数 28 / 100

The History of Pythonの翻訳サイト

The History of Pythonの翻訳サイトです。 http://python-history-jp.blogspot.com/ 渋川さんが翻訳されてます。 現在までの記事がすべて翻訳できています。すばらしい! 現在のポスト数 27 / 100

dictionaryのsetdefaultとget

先日の Django Hack-a-thon で、渋川さんの発表で setdefaultとgetが便利ですよねという発表があって、 ちゃんと押さえられてないなぁと思ったので軽くまとめてみた。 user_data = {} print user_data['user_name'] サンプルを実行させると、user_dataには、…

Django Hack-a-thon 無事終了しました。

あいかわらず会計をしていました:-p タップの長さが足りてない雰囲気だったり、無線APの処理能力が 足りなかったりといろいろありましたが、無事終わって良かったです。 見知った顔しかいないハッカソン席にいてあまり交流できなかったのが 残念だったかなと…

第1回 Mercurial勉強会に参加しました。

3/12 に弊社アクセンス・テクノロジーにて Mercurial勉強会を開催しました。内容は 藤原さんによるエクステンション 船井さんによる hgweb 遠藤さんによる MQ と上級者向けの濃い内容でした。 特に藤原さんは、入門Mercurialの著者で プレゼンの仕方/説明の…

HGENCODING

変更をコミットするときに、メッセージを日本語で書くと Unicode decode Error が発生する場合がある。そんなときは、環境変数に"HGENCODING"を設定すれば良い。 utf-8利用時の場合は、 $ HGENCODING=utf-8; export HGENCODING; .hgrcに以下の設定をしていた…

python-libmemcached をインストールする

Fedora10 に python-libmemcached をインストールするまでの手順です。 1. libmemcachedのインストール 1-1. ソースコードをcloneできるようにする $ sudo easy_install -ZU mercurial $ mkdir www_repo $ hg clone http://hg.tangent.org/libmemcached/ lib…

mod_wsgi 用メモ

rpmfindに何種類かあった。 CentOSに使えるものを探す。http://rpmfind.net/ 現在のポスト数 8 / 100

第1回 Python旅館でやった(てる)こと

Django post_save シグナルの使い方 admin.autodiscover()の簡単な動作の仕組み Django本+1.0.xだとフォローが必要 双方向リストの実装方法案 Python dict(zip(list, list)) 現在のポスト数 6 / 100

Mercurial本

これは良い本です。 リポジトリにMercurialを選択するなら買いです。入門Mercurial Linux/Windows対応作者: 藤原克則出版社/メーカー: 秀和システム発売日: 2009/01/20メディア: 単行本購入: 10人 クリック: 220回この商品を含むブログ (63件) を見る現在の…

Trac Plugin 入門 その2

trac.ini から値を設定し取得をする。 # trac.config.Configuration をインポートする from trac.config import Option, BoolOption, Configuration # Component を継承しているクラス内で利用可能 class HelloWorldPlugin(Component): ... def process_requ…

Trac Plugin 入門 その1

TracHelloWorldPluginをPluginを作ったのですが、 AuthorなどがUNKNOWNになってしまったので、表示方法を調べました。なんのことは無く、eggファイルを作るときのPKG-INFOから データの取得をしているようです。 # -*- coding:utf-8 -*- from setuptools imp…

Sortedの使い方

会社でSortedの使い方を教えてもらったのでサンプル書いてみた。 keyでどの要素でソートしたいかを指定できるのが大事です。 # -*- coding:utf-8 -*- import random import time class Data(): """ Sort用のデータを入れる """ def __init__(self, x, y, z):…

時刻変換

Python 標準ドキュメント 14.2 time -- 時刻データへのアクセスと変換 # -*- coding:utf-8 -*- import time # 日時を所定の書式で取得する fmt = "%a, %b %d, %Y %I:%M %p" time_str = time.strftime(fmt, time.localtime()) print time_str # 変換用の stru…

Trac Plugin 入門

プラグインの作り方を参考にしてます。記述がなかったインストール部分の補足です。1. eggを作成する $ cd helloplugin $ python setup.py bdist_egg 2. デバック用のTracへインストールする $ cp dist/TracHelloWorldPlugin-1.0-py2.5.egg /your/debug_trac…

Trac Pluginの書き方

Trac Pluginの書き方 PyDevでTracのPluginを開発する。

第4回の募集がはじまってます。

が、あと3人となっているようです。 http://d.hatena.ne.jp/Voluntas/20081024/1218125470勉強会とか開発合宿ではないんです。

python-ldap

LDAPはじめました。 python-ldap例のごとく easy_install からインストールできます $ sudo easy_install -Z -U python-ldap

Trac 0.11

気がついたら正式版が出ていた。 主な変更点をまとめてくださっている方がいました。 Trac0.11 がリリースされました昨日、rc2を入れたばかりでしたがアップデートしました。