Pylonsは、貼り付けるコマンドを追加して、新しいコントローラーとプロジェクトを作成します。コマンドはsetup.pyで定義されており、新しいコマンドを追加できます。
たとえば(これはPaste docsから取得されます)、fooというパッケージにあるFooというプロジェクトがあると仮定します。
setup.pyで、「foo」を「paster_plugins」リストに追加します。次に、新しいコマンドをentry_pointsに追加します。
つまり、entry_points = "" "[paste.paster_command] mycommand = foo.commands.test_command:Test" ""
'foo'の下に'commands'というディレクトリを作成し、__ init.py__ファイルを追加して、test_command.pyというファイルを作成します。
ファイルに追加
from paste.script import command
class TestCommand(command.Command):
max_args = 1
min_args = 1
usage = "NAME"
summary = "Say hello!"
group_name = "My Package Name"
parser = command.Command.standard_parser(verbose=True)
parser.add_option('--goodbye',
action='store_true',
dest='goodbye',
help="Say 'Goodbye' instead")
def command(self):
name = self.args[0]
if self.verbose:
print "Got name: %r" % name
if self.options.goodbye:
print "Goodbye", name
else:
print "Hello", name
「pythonsetup.pydevelop」を実行した後、「paste mycommand bob」を実行できるようになり、「Hellobob」出力が得られるはずです。
Pylonsがこれにどのように追加して新しいファイルなどを作成するかを確認するには、pylons/commands.pyを参照してください。コピー可能な新しいコントローラーとRestControllerを作成するためのコマンドがあります。