アーカイブ

‘TurboGears’ カテゴリーのアーカイブ

TurboGearsのDVD。 このエントリーを含むはてなブックマーク はてなブックマーク - TurboGearsのDVD。

2006 年 5 月 26 日 Comments off

TurboGears Ultimate DVD

The TurboGears Ultimate DVD is a data DVD from Kevin Dangoor, the founder of the TurboGears project. My idea was to put together a DVD that offers some of the feel of pair programming with me.

ダウンロードできるWikiチュートリアルの最新版(高画質)やTurboGearsの構造説明など2時間超のムービーだとか、ドキュメント一式だとかが入っているらしい。
DVDに自分の名前を入れてくれたり、TurboGearsとかかれたToolBoxが付いてくるメニューがあったり、デスクに飾れ的なおもちゃも。6月1日まで予約キャンペーンとのこと、興味があったので注文してみました。

で、

TurboGears 1.0 has a lot of features to cover. The TurboGears Ultimate DVD is not a replacement for the book-in-progress “Rapid Web Applications with TurboGears”. The book covers the user-level APIs in detail, but does not talk about how TurboGears works on the inside.

本が出る、と。

カテゴリー: TurboGears タグ:

外部キー付きのテーブルがdropできない。その2。 このエントリーを含むはてなブックマーク はてなブックマーク - 外部キー付きのテーブルがdropできない。その2。

2006 年 5 月 19 日 Comments off

いぜんSQLObjectへ出したレポートに返信をいただきました。

SourceForge.net: Modify: 1481912 – “CASCADE” is never enabled.

No, it is the user’s responsibility to do MyTable.dropTable(cascade=True).

あー・・・。言語仕様がちゃんと理解できていない証拠を露呈していまいました。ぬぅ。

[ref.] 外部キー付きのテーブルがdropできない。 – http://saikyoline.jp/weblog/2006/05/drop_1.html

カテゴリー: TurboGears タグ:

外部キー付きのテーブルがdropできない。 このエントリーを含むはてなブックマーク はてなブックマーク - 外部キー付きのテーブルがdropできない。

2006 年 5 月 5 日 Comments off

「TurboGears 0.9a5」に含まれている「SQLObject-0.7.1dev_r1675」でのはなし。
DBは「PostgreSQL 8.1.3」。

テーブルを消そうとして

$ tg-admin sql drop

としたら

HINT:  Use DROP ... CASCADE to drop the dependent objects too.

とでた。CASCADEしてくれないのかよってことでSQLObjectのソースを追って納得。

「sqlobject/postgres/pgconnection.py」の154行目あたり。

    def dropTable(self, tableName, cascade=False):
if self.server_version[:3] <= "7.2":
cascade=False
self.query("DROP TABLE %s %s" % (tableName,
cascade and 'CASCADE' or ''))

決してCASCADEされることはない、と。
で、通報しました。つたない英語で。

・・・そしていまなんとなくページをリロードしたらエントリが重複した。しっかりしてくれSF.net。

ってことで、その件も通報しました。ココでよかったのかな?

カテゴリー: TurboGears タグ:

制約を含むモデルのmodel.pyへの定義。 このエントリーを含むはてなブックマーク はてなブックマーク - 制約を含むモデルのmodel.pyへの定義。

2006 年 4 月 26 日 Comments off

DBにPostgreSQLを指定したとき(他のDBを指定したことがないので他は不明です。:-P)に、model.pyでForeignKey()を使うと、外部キー制約がつきます。

[ref.] SQLObject 0.7 – http://www.python.jp/~ymasuda/sqlobject/SQLObject.html

ここで、ふつうにクラスを並べると、クラス名でソートされた順でテーブルが作成されるらしいのですが、ソート結果により依存関係が逆転してると当然のごとくエラーが出ます。
こんな時にはmodel.pyの中でsoClassesという名前でタプルを宣言しておくと、その順番でテーブルが作成されるようなので、この問題を回避することができます。

サンプルコードを示します。(クラス名でソートするとEmployeeが先に来ることに注目。)

soClasses = (
"Group",
"Employee"
)

class Group(SQLObject):
name = StringCol()

class Employee(SQLObject):
firstName = StringCol()
lastName  = StringCol()
group     = ForeignKey("Group")

柴田さんとおおたにさんに感謝。
[ref.] PostgreSQLとTGの安定性はどうなんでしょう?

カテゴリー: TurboGears タグ:

TurboGearsちょっと進展。 このエントリーを含むはてなブックマーク はてなブックマーク - TurboGearsちょっと進展。

2006 年 4 月 18 日 Comments off

JSON出力のためにパラメータで「tg_format=json」を渡すと

TypeError: pagelist() got an unexpected keyword argument 'tg_format'

みたいなのが出てしまう件でのハマりからやっと脱出。

#740 (tg_format parameter causing problems with JSON requests) – TurboGears – Trac

にバグとして報告されてました。対象メソッドに処理が渡る前にメインのコントローラの中でtg_formatパラメータを除外するはずが、できていなかったみたいです。なんかおかしな日本語ですがそんな感じ。
ちなみに0.9a5ではFIXされています。
待てないので修正個所

[1113] – TurboGears – Trac

を見て自分で反映しました。
だいぶ時間を使いましたが構造がまた少し理解できた気がするのでよしとします。つかれた。

[ref.] 黙々とTurboGears。 – http://saikyoline.jp/weblog/2006/04/turbogears.html

カテゴリー: TurboGears タグ:

黙々とTurboGears。 このエントリーを含むはてなブックマーク はてなブックマーク - 黙々とTurboGears。

2006 年 4 月 12 日 Comments off

The 20 Minute Wikiをゴニョゴニョしながら進める。
しっかし1.0に向けてバージョンがガシガシと上がっているせいか、ドキュメントとチュートリアルと実物がバラバラな個所もある。ソースを追うにもスキル不足で追い切れない。うぅむ。
チュートリアルにでてくる「turbogearsfmt=json」が「tg_format=json」に変わってるのは分かった。
でも、

TypeError: pagelist() got an unexpected keyword argument 'tg_format'

・・・寝るか。

[p.s.] 2006-04-13
見てるチュートリアルと使ってるバージョンがおもいっきり違ってました。
使ってたTGは0.9a4で、デモムービーですが、それは0.8.9っぽい。(もっと古い?)
ともあれ、ちゃんと確認しなきゃ・・・orz。

カテゴリー: TurboGears タグ:

TurboGears と PostgreSQLその2。 このエントリーを含むはてなブックマーク はてなブックマーク - TurboGears と PostgreSQLその2。

2006 年 4 月 9 日 Comments off

TurboGearsでポスグレを使うためのpsycopg。動かせたのでメモ。
Pythonとポスグレはインストールずみが前提。

psycopgのコンパイルに必要な「eGenix mx Extensions for Python」をダウンロードしてインストール。
実際に使われるのはこの中のmxDateTimeにあるヘッダファイルなんだけど。ともあれ、インストール。
同梱のsetup.pyで一発。楽だ。

# wget http://www.egenix.com/files/python/egenix-mx-base-2.0.6.tar.gz
# tar zxf egenix-mx-base-2.0.6.tar.gz
# cd egenix-mx-base-2.0.6
# python setup.py install

で、psycopgをダウンロードしてインストール。
最初は1系でやってみた。

# wget http://initd.org/pub/software/psycopg/psycopg-1.1.21.tar.gz
# tar zxf psycopg-1.1.21.tar.gz
# cd psycopg-1.1.21
# ./configure \
> --with-python=/usr/local/python24/bin/python \
> --with-postgres-includes=/usr/local/pgsql/include \
> --with-postgres-libraries=/usr/local/pgsql/lib \
> --with-mxdatetime-includes=/usr/local/python24/lib/python2.4/site-packages/mx/DateTime/mxDateTime
# make
# make install

検証環境(というかcoLinux)なんだし、βでいいじゃないかと2系でもやってみた。
そもそもTG自体バージョンが1.0まで達してないし。
※以下pg_configにパスが通っている必要あり。

# wget http://initd.org/pub/software/psycopg/psycopg2-2.0b8.tar.gz
# tar zxf psycopg2-2.0b8.tar.gz
# cd psycopg2-2.0b8
# python setup.py build
# python setup.py install

easy_installが入っているなら、最後の2つは

# easy_install .

でよし。

mx Extensionsといい、psycopg2といい、最近のPython関連はみんな

# make
# make install

# python setup.py build
# python setup.py install

または

# easy_install .

なのかな?

[ref.] TurboGears と PostgreSQL。 – http://saikyoline.jp/weblog/2006/04/turbogears_postgresql.html

カテゴリー: TurboGears タグ:

TurboGears と PostgreSQL。 このエントリーを含むはてなブックマーク はてなブックマーク - TurboGears と PostgreSQL。

2006 年 4 月 6 日 Comments off

DBにポスグレを選んでハマる。

$ tg-admin sql create
Using database URI postgres:...
...
ImportError: No module named psycopg

「psycopg」ってナニ?ってことで調べると

initd.org

psycopg is a PostgreSQL database adapter for the Python programming language.

とのこと。で、インストールだってことで

$ ./configure ...
...
checking for mxDateTime.h... configure: error: can't build without mx headers

・・・今日はあきらめて寝る。

[p.s.] 2006-04-09
使えるようになりました。
[ref.] TurboGears と PostgreSQLその2。 – http://saikyoline.jp/weblog/2006/04/turbogears_postgresql_1.html

カテゴリー: TurboGears タグ:

つい・・・。 このエントリーを含むはてなブックマーク はてなブックマーク - つい・・・。

2006 年 3 月 29 日 Comments off

Google グループ : turbogears-ja

説明: TurboGearsに関する日本のコミュニティ発足に向けてのグループ。TurboGearsとTurboGearsに関連するプロジェクトの日本での情報交換をしたいな。

あまりにタイムリーなので決意表明。いまちょうど読んでるのをそのまま日本語にするだけだし。
あ、メンバーとしてです。ホストではなく。そのへん弱気。

カテゴリー: TurboGears タグ:

TurboGearsインストールにつまづく。 このエントリーを含むはてなブックマーク はてなブックマーク - TurboGearsインストールにつまづく。

2006 年 3 月 28 日 Comments off

TurboGears: Installation on *nix-Like Systems

Even though you don’t have Easy Install yet, you can still take advantage of it. Instead of one-command installation, it will be two-step installation. And, you’ll have Easy Install for the next update!

って言われても、

ez_setup.py -f http://www.turbogears.org/download/index.html --script-dir /usr/local/bin TurboGears

の意味が分からなくて気持ち悪くて先に進めない。
-f オプションはナニを指定してるの? –script-dir ってなにさ?

こういうことある度に思うのだが、損な性格してるかも・・・。

p.s. 投稿直後
ソッコーで自己解決。python ez_setup.py –help ってできる。ez_setup.py のソース読み始めてたよ・・・。

カテゴリー: TurboGears タグ: