Khufu-Script este utilizat pentru definirea 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 khufu.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 khufu.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:.
- syncdb / upgradedb reflecta acum în baza de date mai pentru a evita dependențelor de model circular
Ce este nou în versiunea 0.6.1:
- Adaugat & quot; rshell & quot; comandă pentru conectarea la un server de la distanță și rfoo lucru cu obiecte vii durată
Ce este nou în versiunea 0.2.2:
- URL-uri de proiect actualizate
Cerințe :
- Python
Comentariile nu a fost găsit