aodag scaffold

16

Click here to load reader

Upload: atsushi-odagiri

Post on 03-Jul-2015

1.126 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Aodag scaffold

aodag.scaffold

aodag

Page 2: Aodag scaffold

お前誰よ

Page 3: Aodag scaffold

PasteScript

paster create -t pyramid_starter

テンプレートを使って、プロジェクトの土台のファイルを作る。

djangoのstartappとかが、汎用的になった感じ

Page 4: Aodag scaffold

PasteScript

● Paste 自体がそろそろ古い ○ 代替パッケージが結構ある

● PasteScriptは、Pasteをそれほど必要としてないのに、パッケージ上依存している。

● Python3対応していない● dotfile ("."で始まるファイル名) がテンプレートで扱えない● テンプレート作るのがめんどう。Pythonパッケージにしないといけ

ない。

Page 5: Aodag scaffold

aodag.scaffold

作っちゃいました

Page 6: Aodag scaffold

aodag.scaffold

● 依存は、 ArgParse のみ● Python3対応● dotfile扱える● テンプレートファイルだけzipすればOK

Page 7: Aodag scaffold

依存

ArgParseは、2.7, 3.2以降は標準ライブラリに入っている

いまさら optparse で書きたくないです><

Page 8: Aodag scaffold

Python3対応

まだ2to3しなくても両方で動くようになってます。

テストは、tox を使って対象バージョンのvirtualenvをそれぞれ作って実行しています。

対象バージョン

● 2.6● 2.7● 3.1● 3.2

Page 9: Aodag scaffold

Python3対応

と、思ってたらさっきPython3のみのバグありました

(´・ω・`)

Page 10: Aodag scaffold

Scaffold

Scaffold = 土台

Railsからパクったんじゃないよ><

Page 11: Aodag scaffold

Scaffoldを作る

Scaffoldは単なるzipファイル

展開するときにあるパターンのファイル名、ディレクトリ名のところで、テンプレート処理を実行

● ディレクトリ名が +hoge+ などのように、 + でかこまれている● ファイル名が _tmpl で終わるファイルの中身の、 ${hoge} のような

場所

Page 12: Aodag scaffold

Scaffold

● README.txt_tmpl● +package+

○ __init__.py

README.txt_tmpl

${package} ====================

${author}

Page 13: Aodag scaffold

インストール

pip install aodag.scaffold

Page 14: Aodag scaffold

使う(1) Scaffoldをインストール

$ scaffold install \ http://sites.google.com/site/aodagscaffold/scaffolds/basic_namespace.zip basic_namespace

$ scaffold listbasic_namespace

Page 15: Aodag scaffold

使う(2) Scaffoldでプロジェクトをはじめる

$ scaffold create basic_namespace -d bucho.miracle.......namespace: buchopackage: miracle....author: torufurukawa....

Page 16: Aodag scaffold

実演