Khufu-Script wordt gebruikt voor het definiëren subopdrachten met een speciale focus op web-style apps. De functionaliteit is geïnspireerd door de Django manage.py script.
Gebruik:
Een eenvoudig voorbeeld van een opdracht die "Hello World" afgedrukt toe te voegen:
van khufu.script import commando, Commander
Command
def HelloWorld ():
& Nbsp; print 'hello world'
Als __name__ == '__main__':
& Nbsp;. Commander.scan (globals ()) draaien ()
Om een meer ingewikkelde commando kun je iets wat lijkt op Python 2.7's argparse (ook beschikbaar op 2.6) te gebruiken doen.
import argparse
van khufu.script import commando, Commander
Command
def foo (* argv):
& Nbsp; parser = argparse.ArgumentParser ()
& Nbsp; parser.add_argument ('- x', helpen = "eenvoudige test",
& Nbsp; default = 'ja', metavar = 'x')
& Nbsp; ns = parser.parse_args (argv)
& Nbsp; # iets te doen
Als __name__ == '__main__':
& Nbsp;. Commander.scan (globals ()) draaien ()
Mits Commando
Er zijn momenteel twee verstrekt commando fabrieken.
& Nbsp; 1. make_reloadable_server_command (zie bovenstaande opmerking over eisen voor runserver)
& Nbsp; 2. make_syncdb_command
Een typische web app kunnen deze commando's gebruiken als volgt:
Als __name__ == '__main__':
& Nbsp; def createtables (sessie):
& Nbsp; models.Base.metadata.create_all (session.bind)
& Nbsp; instellingen = init_settings ()
& Nbsp; commander = script.Commander ([script.make_reloadable_server_command (make_app),
& Nbsp; script.make_syncdb_command (instellingen ['spitter.db_session_factory'],
& Nbsp; createtables)])
& Nbsp; commander.scan (globals ())
& Nbsp; commander.run ()
Het uitvoeren van het script zonder argumenten zal iets wat lijkt op te leveren:
Commando's:
& Nbsp; runserver Voer een herlaadbare ontwikkeling webserver.
& Nbsp; syncdb Werk de database
Wat is nieuw in deze release:.
- syncdb / upgradedb nu nadenken over de database meer circulaire model afhankelijkheden te voorkomen
Wat is nieuw in versie 0.6.1:
- Toegevoegd & quot; rshell & quot; commando voor het aansluiten van een externe rfoo server en werken met live-running objecten
Wat is nieuw in versie 0.2.2:
- Bijgewerkt project urls
Eisen
- Python
Reacties niet gevonden