Могут ли задачи фабрики иметь имена, которые не являются допустимыми именами функций Python? - PullRequest
0 голосов
/ 04 ноября 2011

Я бы хотел, чтобы в моих заданиях на ткани вместо подчеркивания (_) были дефисы (-).Например, сброс базы данных вместо database_reset.Однако дефисы не допускаются в качестве имен функций Python.

Возможно ли в Fabric создавать задачи, имена которых не совсем соответствуют соответствующей функции Python?

Ответы [ 2 ]

6 голосов
/ 04 ноября 2011

С документация :

@task(alias = 'database-reset')
def database_reset():
    ...
3 голосов
/ 04 ноября 2011

Cat Plus Plus имеет лучшее решение для того, что вы хотите сделать. Тангенциально, однако, технически возможно иметь глобальные переменные Python (имя функции - просто глобальная переменная), которые не соответствуют обычным правилам, присваивая словарю globals().

def foo_bar():
    print "foo-bar"

globals()["foo-bar"] = foo_bar

globals()["foo-bar"]()   # prints "foo-bar"

Синтаксис не очень хороший, хотя, что делает его довольно хлопотным.

...