clue_script משמש להגדרת subcommands עם דגש מיוחד על יישומים בסגנון אינטרנט. הפונקציונליות הוא בהשראת תסריט manage.py אופטימיות.
שימוש
דוגמא פשוטה להוספת פקודה שמדפיסה "שלום עולם":
מפקודת יבוא clue_script, המפקד
command
HelloWorld def ():
& Nbsp; הדפסה "שלום עולם"
אם __name__ == '__main__':
& Nbsp;. Commander.scan (GLOBALS ()) לרוץ ()
כדי לעשות פקודה מסובכת יותר, אתה יכול להשתמש במשהו דומה לargparse של פייתון 2.7 (זמין גם ב2.6).
argparse יבוא
מפקודת יבוא clue_script, המפקד
command
foo def (* argv):
& Nbsp; מנתח = argparse.ArgumentParser ()
& Nbsp; parser.add_argument ('- X', לעזור "בדיקה פשוטה '=,
& Nbsp; ברירת מחדל = 'כן', metavar = "x")
& Nbsp; NS = parser.parse_args (argv)
& Nbsp; # לעשות משהו
אם __name__ == '__main__':
& Nbsp;. Commander.scan (GLOBALS ()) לרוץ ()
מסופק על פקודות
כרגע יש שני מפעלי הפקודה סיפקו.
& Nbsp; 1. make_reloadable_server_command (ראה לעיל הערה לגבי דרישות לrunserver)
& Nbsp; 2. make_syncdb_command
יישום אינטרנט טיפוסי יכול להשתמש בפקודות אלה כדלקמן:
אם __name__ == '__main__':
& Nbsp; def 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 (GLOBALS ())
& Nbsp; commander.run ()
ריצת התסריט ללא args יניב משהו דומה ל:
פקודות:
& Nbsp; runserver להריץ שרת אינטרנט פיתוח reloadable.
& Nbsp; syncdb לעדכן את מסד הנתונים
מה חדש בהודעה זו:.
print_usage() היה להיות בשם הלא נכון
מה חדש בגרסת 0.3:
- תמיכת rfoo נוסף לשיגור פגז להתחבר עם live- http://code.google.com/p/rfoo/ השרת פועל
- עיצוב משופר של שימוש בפקודה
- פקודת make_syncdb בעיקר חסרת תועלת הוסרה
- Made Commander.commands חשוף יותר קטן
מה חדש בגרסת 0.2.4:
- בעיה קבועה שבו החלק הלא Reloader יסגור את האפליקציה אם קוד שונה.
דרישות :
- פייתון
תגובות לא נמצא