Khufu-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 khufu.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 khufu.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:.
- syncdb / upgradedb nu reflektere over databasen mere at undgå cirkulære model afhængigheder
Hvad er nyt i version 0.6.1:
- Tilføjet & quot; rshell & quot; kommando til at forbinde til en ekstern rfoo server og arbejde med levende kørende objekter
Hvad er nyt i version 0.2.2:
- Opdateret projekt webadresser
Krav :
- Python
Kommentarer ikke fundet