clue_script este folosit pentru a defini subcomenzi cu un accent special pe aplicații de tip web. Funcționalitatea este inspirat de scriptul manage.py Django.
Utilizare
Un exemplu simplu pentru a adăuga o comandă care imprimă "Hello World":
de comandă import clue_script, Commander
command
def helloworld ():
& Nbsp; print "Hello World"
dacă __name__ == '__main__ ":
& Nbsp;. Commander.scan (globals ()) rula ()
Pentru a face o comandă mai complicat poti folosi ceva similar cu argparse Python 2.7 (de asemenea, disponibile pe 2.6).
argparse import
de comandă import clue_script, Commander
command
def foo (* argv):
& Nbsp; parser = argparse.ArgumentParser ()
& Nbsp; parser.add_argument ('- x', ajuta = "test simplu",
& Nbsp; default = "da", metavar = "x")
& Nbsp; ns = parser.parse_args (argv)
& Nbsp; # a face ceva
dacă __name__ == '__main__ ":
& Nbsp;. Commander.scan (globals ()) rula ()
Asigurarea Comenzi
În prezent, există două fabrici de comandă furnizate.
& Nbsp; 1. make_reloadable_server_command (a se vedea mai sus nota despre cerințele pentru runserver)
& Nbsp; 2. make_syncdb_command
Un app web tipic ar putea folosi aceste comenzi, după cum urmează:
dacă __name__ == '__main__ ":
& Nbsp; def createTables (sesiune):
& Nbsp; models.Base.metadata.create_all (session.bind)
& nbsp; setările = init_settings ()
& Nbsp; comandant = script.Commander ([script.make_reloadable_server_command (make_app),
& Nbsp; script.make_syncdb_command (setări ['spitter.db_session_factory'],
& nbsp; createTables)])
& Nbsp; commander.scan (globals ())
& Nbsp; commander.run ()
Rularea scriptului fără argumente va produce ceva similar cu:
Comenzi:
& Nbsp; Pornește runserver un server web dezvoltare reîncărcabil.
& Nbsp; syncdb Actualizarea bazei de date
Ce este nou în această versiune:.
- Fixed bug prostie unde print_usage () a fost fiind numit greșit
Ce este nou în versiunea 0.3:
- suport rfoo Adăugat pentru lansarea unui shell pentru a se conecta cu live- rulează http://code.google.com/p/rfoo/ Server
- formatarea îmbunătățită de utilizare a comenzii
- Eliminat comanda make_syncdb cea mai mare parte inutil
- Made Commander.commands un pic mai expuse
Ce este nou în versiunea 0.2.4:
- Problema fixe în cazul în care partea non-Reloader ar închide jos aplicația cazul în care codul a fost schimbat.
Cerințe :
- Python
Comentariile nu a fost găsit