Cheope-Script è usato per definire sottocomandi con particolare attenzione alle applicazioni web-stile. La funzionalità è ispirato dallo script manage.py Django.
Utilizzo:
Un semplice esempio per aggiungere un comando che stampa "Ciao mondo":
dal comando di importazione khufu.script, Comandante
Comando @
def helloworld ():
& Nbsp; print 'Ciao mondo'
if __name__ == '__main__':
& Nbsp;. Commander.scan (globals ()) run ()
Per fare un comando più complesso è possibile utilizzare qualcosa di simile a Python 2.7 di argparse (disponibile anche sul 2.6).
importazione argparse
dal comando di importazione khufu.script, Comandante
Comando @
def foo (* argv):
& Nbsp; parser = argparse.ArgumentParser ()
& Nbsp; parser.add_argument ('- x', aiuto 'semplice test' =,
& Nbsp; default = 'yes', metavar = 'x')
& Nbsp; ns = parser.parse_args (argv)
& Nbsp; # fare qualcosa
if __name__ == '__main__':
& Nbsp;. Commander.scan (globals ()) run ()
fornito Comandi
Ci sono attualmente due fabbriche di comando previsti.
& Nbsp; 1. make_reloadable_server_command (vedi sopra nota sui requisiti per runserver)
& Nbsp; 2. make_syncdb_command
Una tipica applicazione web potrebbe utilizzare questi comandi come segue:
if __name__ == '__main__':
& Nbsp; def CreateTables (sessione):
& Nbsp; models.Base.metadata.create_all (session.bind)
& nbsp; impostazioni = init_settings ()
& Nbsp; comandante = script.Commander ([script.make_reloadable_server_command (make_app),
& Nbsp; script.make_syncdb_command (impostazioni ['spitter.db_session_factory'],
& nbsp; CreateTables)])
& Nbsp; commander.scan (globali ())
& Nbsp; commander.run ()
L'esecuzione dello script senza args produrrà qualcosa di simile a:
Comandi:
& Nbsp; runserver eseguire un web server di sviluppo ricaricabile.
& Nbsp; syncdb Aggiornare il database
Cosa c'è di nuovo in questa versione:.
- syncdb / UPGRADEDB ora riflettere sul database di più al fine di evitare le dipendenze modello circolari
Cosa c'è di nuovo nella versione 0.6.1:
- aggiunto & quot; RSHELL & quot; il comando per la connessione a un server remoto e Rfoo lavoro con oggetti in tempo reale con esecuzione
Cosa c'è di nuovo nella versione 0.2.2:
- URL progetto aggiornato
Requisiti
- Python
I commenti non trovato