Don't be fatal on import errors so plays don't fail if plugin doesn't have required dependencies

This commit is contained in:
Jimmy Tang 2015-11-14 19:53:26 +00:00
parent 125370ab48
commit 19ba54c9fd

View file

@ -64,13 +64,15 @@ import ConfigParser
import uuid
try:
import certifi
HAS_CERTIFI = True
except ImportError:
print("please do 'pip install certifi'")
HAS_CERTIFI = False
try:
import flatdict
HAS_FLATDICT = True
except ImportError:
print("please do 'pip install flatdict'")
HAS_FLATDICT = False
from ansible.plugins.callback import CallbackBase
@ -195,6 +197,16 @@ class CallbackModule(CallbackBase):
def __init__(self):
super(CallbackModule, self).__init__()
if not HAS_CERTIFI:
self.disabled =True
self.display.warning('The `certifi` python module is not installed. '
'Disabling the Logentries callback plugin.')
if not HAS_FLATDICT:
self.disabled =True
self.display.warning('The `flatdict` python module is not installed. '
'Disabling the Logentries callback plugin.')
config_path = os.path.abspath(os.path.dirname(__file__))
config = ConfigParser.ConfigParser()
try: