2010-09-24 25 views
0

Je suis à un point dans mes projets Pylons où je finis par créer et supprimer des contrôleurs souvent (probablement plus souvent que je ne devrais). Je suis fatigué d'ajouter mes propres importations et ajustements au sommet de chaque contrôleur. There was a recent question about modifying the new controller template cela m'a permis de ne pas avoir à faire cela - mais je ne comprends pas comment le fichier controller.py_tmpl est utilisé par paster, et comment je peux dire à Paster, pour un projet existant, "hé, utilisez cette modèle à la place! "Modifier le gabarit pour les nouveaux contrôleurs de pylônes

De quelle invocation ai-je besoin pour dire à Paster d'utiliser mon modèle au lieu de celui par défaut?

Répondre

1

Pylons crée de nouveaux contrôleurs et projets en ajoutant une commande à coller. Les commandes sont définies dans setup.py et vous pouvez ajouter de nouvelles commandes. Par exemple (ceci est pris de la Paste docs) laisse supposer que vous avez un projet appelé Foo qui est dans un paquet également appelé foo.

Dans setup.py, ajoutez 'foo' à la liste 'paster_plugins' Ajoutez ensuite une nouvelle commande à entry_points.

ie entry_points = "" " [paste.paster_command] mycommand = foo.commands.test_command: Test """

Créez un répertoire appelé 'commandes' sous 'foo', ajoutez un __init fichier .py__ et créer un fichier appelé test_command.py

Dans le fichier ajouter

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 

Après avoir exécuté « python setup.py développer », vous pouvez maintenant lancer la « pâte mycomma nd bob 'et vous devriez obtenir la sortie' Hello bob '. Pour voir comment Pylons ajoute à cela pour créer de nouveaux fichiers, regardez dans pylons/commands.py ils ont des commandes pour créer de nouveaux Contrôleurs et RestControllers que vous pouvez copier.

+0

Cette réponse m'a fait passer la partie où j'étais coincé. Je vous remercie. –