در clue_script است برای تعریف subcommands با تمرکز ویژه بر روی برنامه های تحت وب به سبک استفاده می شود. قابلیت های اسکریپت manage.py جنگو الهام گرفته است.
استفاده
یک مثال ساده برای اضافه کردن یک دستور چاپ "سلام جهان":
از clue_script دستور واردات، فرمانده
command
دف HelloWorld را ():
& nbsp؛ از چاپ "سلام جهان"
اگر __name__ == '__main__':
از & nbsp؛ Commander.scan (global دربرمیگیرد ()) اجرا ()
برای انجام یک دستور پیچیده تر شما می توانید چیزی شبیه به argparse پایتون 2.7 (همچنین در 2.6 در دسترس است) استفاده کنید.
واردات argparse
از clue_script دستور واردات، فرمانده
command
دف مواد غذایی (* ی argv):
& nbsp؛ از تجزیه = argparse.ArgumentParser ()
& nbsp؛ در parser.add_argument ('- X، کمک =' آزمایش ساده،
از & nbsp؛ به طور پیش فرض = 'بله'، metavar = 'X')
از & nbsp؛ NS = parser.parse_args (ی argv)
از & nbsp؛ # انجام کاری
اگر __name__ == '__main__':
از & nbsp؛ Commander.scan (global دربرمیگیرد ()) اجرا ()
دستورات ارائه
در حال حاضر دو کارخانه دستور ارائه وجود دارد.
از & nbsp؛ 1. make_reloadable_server_command (در مورد الزامات مورد نیاز برای runserver را ببینید بالا توجه داشته باشید)
از & nbsp؛ 2. make_syncdb_command
یک برنامه وب نمونه می تواند این دستورات به شرح زیر استفاده کنید:
اگر __name__ == '__main__':
& nbsp؛ از دف createtables (جلسه):
& nbsp؛ در models.Base.metadata.create_all (session.bind)
& nbsp؛ تنظیمات = init_settings ()
& nbsp؛ از فرمانده = script.Commander ([script.make_reloadable_server_command (make_app)،
& nbsp؛ در script.make_syncdb_command (تنظیمات ['spitter.db_session_factory']،
& nbsp؛ در createtables)])
& nbsp؛ در commander.scan (global دربرمیگیرد ())
کنید. & nbsp؛ commander.run ()
در حال اجرا اسکریپت بدون استدلال خواهد چیزی شبیه به عملکرد:
دستورات:
& nbsp؛ در runserver اجرای توسعه وب سرور reloadable.
& nbsp؛ در syncdb پایگاه داده به روز رسانی
در چه در این نسخه جدید است:
در اشکال احمقانه ثابت که در آن print_usage () که نامیده می شد اشتباه است.
به چه جدید در نسخه 0.3 است:
اضافه شدن پشتیبانی rfoo برای راه اندازی یک پوسته برای ارتباط با زندگی می کنند در حال اجرا سرور http://code.google.com/p/rfoo/
قالب بندی بهبود یافته از استفاده از دستور
حذف فرمان make_syncdb بیشتر بی فایده
ساخته شده در معرض Commander.commands کمی بیشتر
به چه جدید در نسخه 0.2.4 است:
حل مشکل که در آن بخش غیر reloader تعطیل خواهند برنامه اگر کد تغییر یافت.
در مورد نیاز:
پایتون
نظر یافت نشد