Khufu-Script digunakan untuk mendefinisikan subcommands dengan fokus khusus pada aplikasi web-gaya. Fungsi ini terinspirasi oleh manage.py naskah Django.
Penggunaan:
Contoh sederhana untuk menambahkan perintah yang mencetak "hello world":
dari perintah impor khufu.script, Komandan
command
def helloworld ():
& Nbsp; print 'hello world'
jika __name__ == '__main__':
& Nbsp;. Commander.scan (GLOBALS ()) berjalan ()
Untuk melakukan perintah yang lebih rumit Anda dapat menggunakan sesuatu yang mirip dengan argparse Python 2,7 (juga tersedia di 2.6).
impor argparse
dari perintah impor khufu.script, Komandan
command
def foo (* argv):
& Nbsp; parser = argparse.ArgumentParser ()
& Nbsp; parser.add_argument ('- x', membantu = 'tes sederhana',
& Nbsp; default = 'yes', metavar = 'x')
& Nbsp; ns = parser.parse_args (argv)
& Nbsp; # melakukan sesuatu
jika __name__ == '__main__':
& Nbsp;. Commander.scan (GLOBALS ()) berjalan ()
Diberikan Perintah
Ada dua pabrik perintah yang disediakan saat ini.
& Nbsp; 1. make_reloadable_server_command (lihat di atas catatan tentang persyaratan untuk runserver)
& Nbsp; 2. make_syncdb_command
Sebuah aplikasi web yang khas bisa menggunakan perintah ini sebagai berikut:
jika __name__ == '__main__':
& Nbsp; def createtables (sesi):
& Nbsp; models.Base.metadata.create_all (session.bind)
& Nbsp; pengaturan = init_settings ()
& Nbsp; komandan = script.Commander ([script.make_reloadable_server_command (make_app),
& Nbsp; script.make_syncdb_command (pengaturan ['spitter.db_session_factory'],
& Nbsp; createtables)])
& Nbsp; commander.scan (GLOBALS ())
& Nbsp; commander.run ()
Menjalankan script tanpa args akan menghasilkan sesuatu yang mirip dengan:
Perintah:
& Nbsp; runserver Jalankan web server pengembangan reloadable.
& Nbsp; syncdb Perbarui database
Apa yang baru dalam rilis ini:.
- syncdb / upgradedb sekarang merenungkan database lebih untuk menghindari ketergantungan Model melingkar
Apa yang baru di versi 0.6.1:
- Tambah & quot; rshell & quot; perintah untuk menghubungkan ke server rfoo jauh dan bekerja dengan benda-benda hidup-berjalan
Apa yang baru di versi 0.2.2:
- url proyek Diperbarui
Persyaratan :
- Python
Komentar tidak ditemukan