Тканевые методы исключения - PullRequest
2 голосов
/ 17 февраля 2011

Я пытаюсь сделать Fabric func, который проверяет, установлен ли Apache:

from fabric.api import *

def check_apache():
    try:
        result = local('httpd -v', capture=True)
    except:
        print "check_apache exception"

Но если httpd не установлен, я получаю:

$ fab check_apache

Fatal error: local() encountered an error (return code 127) while executing 'ahttpd -v'

Aborting.
check_apache exception

Done.

Как получить правильное исключение дляТкань local() метод?Поэтому мне нужно получить исключение и продолжить выполнение без каких-либо сообщений об ошибках Fabric:

$ fab check_apache
check_apache exception

Done.

1 Ответ

1 голос
/ 17 февраля 2011

Вы можете установить env.warn_only на True или использовать менеджер контекста настроек.Смотри http://docs.fabfile.org/0.9.3/api/core/context_managers.html?highlight=warn#fabric.context_managers.settings

...