Хуфу-Script використовується для визначення підкоманду з особливим акцентом на додатках веб-стилі. Функціональність натхненний сценарію manage.py Django.
<Сильний> Застосування:
Простий приклад, щоб додати команду, яка друкує "привіт світ":
від командування імпорту khufu.script командувача
command
Def HelloWorld ():
& NBSP; друк "привіт світ"
якщо __name__ == '__main__ ":
& NBSP ;. Commander.scan (глобальні ()) Run ()
Щоб зробити більш складну команду ви можете використовувати щось подібне в Python 2.7 argparse (також доступний на 2,6).
імпорт argparse
від командування імпорту khufu.script командувача
command
Def Foo (* ARGV):
& NBSP; аналізатор = argparse.ArgumentParser ()
& NBSP; parser.add_argument ('- х', допомогти = '' простий тест,
& NBSP; за замовчуванням = 'так', metavar = 'х')
& NBSP; нс = parser.parse_args (ARGV)
& NBSP; # зробити щось
якщо __name__ == '__main__ ":
& NBSP ;. Commander.scan (глобальні ()) Run ()
<Сильний> За умови, Команди
Є в даний час два надаються команда фабрики.
& 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 (глобальні ())
& NBSP; commander.run ()
Запуск скрипта без будь-яких аргументів дасть щось подібне:
Команди:
& NBSP; runserver Запуск поповнюються веб-розробки сервера.
& NBSP; SyncDB Оновлення бази даних
Що нового У цьому випуску :.
- SyncDB / upgradedb в даний час відповідають в базі даних більше щоб уникнути циклічних залежностей моделі
Що нового у версії 0.6.1:
- Додана & Quot; rshell & Quot; Команда для підключення до віддаленого серверу rfoo та роботи з живими об'єктами працює
Що нового у версії 0.2.2:
- Оновлені URL-адреси проекту
Вимоги
- Python
Коментар не знайдено