2011-09-26 56 views
1

我正在尋找一個像paster這樣的簡單lib /工具,我可以輕鬆創建自定義命令,而無需粘貼任何內容。我期待創建一個像paster或manage.py這樣的輔助工具來完成各種任務,如構建(可能使用構建),爲非web /非基於wsgi的項目構建文檔和運行腳本/測試。 (這就是爲什麼我不想要任何需要粘貼的東西)有沒有粘貼部分的貼紙有什麼東西?

對工具的任何建議?我的方法聽起來合理嗎?

+0

你可以編寫與wsgi/web無關的粘貼命令,我已經做了很多。但是,如果您只是在尋找創作子命令和處理命令行參數的東西,那麼爲什麼不使用argparse http://docs.python.org/library/argparse.html然後派發到您喜歡的命令? –

回答

0

我經常使用Fabric作爲我的通用項目管理員。通常我用布自動執行以下任務:

  • 生成文檔
  • 運行測試
  • 使釋放

最初面料已開發,以緩解在遠程運行命令的自動化/腳本使用SSH的主機。然而,Fabric也是一個很好的工具,可以自動執行與本地項目管理相關的任務。

結構命令是所謂的fabfile中的純Python函數。您不需要了解更多關於Fabric的知識。這裏有一個簡單fabfile.py

from fabric.api import local 

def tests(): 
    """Run the test suite.""" 
    ... 

def release(version): 
    """Make a relase.""" 
    tests() 
    local("hg tag %s" % version) 
    ... 

可以這樣使用:

$ fab -l 
Available commands: 

    release Make a relase. 
    tests Run the test suite. 

$ fab release:version=0.1 
... 
[localhost] local: hg tag 0.1 
... 

關於擴建,只是這部分添加到您的buildout.cfg和Fabric是準備在bin/fab使用方法:

[fabric] 
recipe = zc.recipe.egg 
eggs = 
    <things-you-need-in-your-fabfile> 
    fabric 
相關問題