clue_script bruges til at definere underkommandoer med særligt fokus på web-stil apps. Funktionaliteten er inspireret af Django manage.py script.
Anvendelse
Et simpelt eksempel for at tilføje en kommando der udskriver "Hej verden":
fra clue_script import kommando, kommandør
command
def helloworld ():
& Nbsp; print "goddag verden '
hvis __name__ == '__main__ «:
& Nbsp;. Commander.scan (globals ()) køre ()
Til at gøre en mere kompliceret kommando, du kan bruge noget lignende til Python 2.7 s argparse (også tilgængelig på 2.6).
import argparse
fra clue_script import kommando, kommandør
command
def foo (* argv):
& Nbsp; parser = argparse.ArgumentParser ()
& Nbsp; parser.add_argument ('- x', hjælp = 'simple test «,
& Nbsp; default = ja, metavar = 'x')
& Nbsp; ns = parser.parse_args (argv)
& Nbsp; # gøre noget
hvis __name__ == '__main__ «:
& Nbsp;. Commander.scan (globals ()) køre ()
Forudsat Kommandoer
Der er i øjeblikket to medfølgende kommando fabrikker.
& Nbsp; 1. make_reloadable_server_command (se ovenfor note om krav til runserver)
& Nbsp; 2. make_syncdb_command
En typisk web-app kunne bruge disse kommandoer på følgende måde:
hvis __name__ == '__main__ «:
& Nbsp; def createtables (session):
& Nbsp; models.Base.metadata.create_all (session.bind)
& nbsp; indstillinger = init_settings ()
& Nbsp; commander = script.Commander ([script.make_reloadable_server_command (make_app),
& Nbsp; script.make_syncdb_command (indstillinger ['spitter.db_session_factory'],
& nbsp; createtables)])
& Nbsp; commander.scan (globals ())
& Nbsp; commander.run ()
Kørsel scriptet uden args vil give noget der ligner:
Kommandoer:
& Nbsp; runserver Kør en genopladeligt udvikling webserver.
& Nbsp; syncdb opdatere databasen
Hvad er nyt i denne udgivelse:.
- Fixed fjollet fejl hvor print_usage () blev kaldes forkert
Hvad er nyt i version 0.3:
- Tilføjet rfoo støtte til lancering af en shell til at oprette forbindelse med hus- kører server http://code.google.com/p/rfoo/
- Forbedret formatering af forbrug kommando
- Fjernet det meste ubrugelige make_syncdb kommandoen
- Made Commander.commands lidt mere udsat
Hvad er nyt i version 0.2.4:
- Fixed problem, hvor den ikke-Reloader portion ville lukke ned app, hvis koden blev ændret.
Krav :
- Python
Kommentarer ikke fundet