clue_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 clue_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 clue_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:.
- Fixed bug konyol di mana print_usage () adalah menjadi disebut salah
Apa yang baru di versi 0.3:
- Ditambahkan rfoo dukungan untuk meluncurkan shell untuk menghubungkan dengan live- menjalankan server http://code.google.com/p/rfoo/
- Peningkatan format penggunaan perintah
- Dihapus perintah make_syncdb sebagian besar tidak berguna
- Terbuat Commander.commands sedikit lebih terbuka
Apa yang baru di versi 0.2.4:
- Tetap masalah di mana bagian non-reloader akan menutup turun app jika kode diubah.
Persyaratan :
- Python
Komentar tidak ditemukan