aodag scaffold
TRANSCRIPT
aodag.scaffold
aodag
お前誰よ
PasteScript
paster create -t pyramid_starter
テンプレートを使って、プロジェクトの土台のファイルを作る。
djangoのstartappとかが、汎用的になった感じ
PasteScript
● Paste 自体がそろそろ古い ○ 代替パッケージが結構ある
● PasteScriptは、Pasteをそれほど必要としてないのに、パッケージ上依存している。
● Python3対応していない● dotfile ("."で始まるファイル名) がテンプレートで扱えない● テンプレート作るのがめんどう。Pythonパッケージにしないといけ
ない。
aodag.scaffold
作っちゃいました
aodag.scaffold
● 依存は、 ArgParse のみ● Python3対応● dotfile扱える● テンプレートファイルだけzipすればOK
依存
ArgParseは、2.7, 3.2以降は標準ライブラリに入っている
いまさら optparse で書きたくないです><
Python3対応
まだ2to3しなくても両方で動くようになってます。
テストは、tox を使って対象バージョンのvirtualenvをそれぞれ作って実行しています。
対象バージョン
● 2.6● 2.7● 3.1● 3.2
Python3対応
と、思ってたらさっきPython3のみのバグありました
(´・ω・`)
Scaffold
Scaffold = 土台
Railsからパクったんじゃないよ><
Scaffoldを作る
Scaffoldは単なるzipファイル
展開するときにあるパターンのファイル名、ディレクトリ名のところで、テンプレート処理を実行
● ディレクトリ名が +hoge+ などのように、 + でかこまれている● ファイル名が _tmpl で終わるファイルの中身の、 ${hoge} のような
場所
Scaffold
● README.txt_tmpl● +package+
○ __init__.py
README.txt_tmpl
${package} ====================
${author}
インストール
pip install aodag.scaffold
使う(1) Scaffoldをインストール
$ scaffold install \ http://sites.google.com/site/aodagscaffold/scaffolds/basic_namespace.zip basic_namespace
$ scaffold listbasic_namespace
使う(2) Scaffoldでプロジェクトをはじめる
$ scaffold create basic_namespace -d bucho.miracle.......namespace: buchopackage: miracle....author: torufurukawa....
実演