ansible-later/ansiblelater/command/base.py

52 lines
1.6 KiB
Python
Raw Normal View History

2019-04-02 16:34:03 +02:00
"""Base methods."""
2019-04-09 10:58:15 +02:00
import importlib
2019-04-02 16:34:03 +02:00
import os
import sys
2019-04-09 10:58:15 +02:00
from distutils.version import LooseVersion
2019-04-02 16:34:03 +02:00
import ansible
from ansiblelater import settings
from ansiblelater import utils
2019-04-02 16:34:03 +02:00
def get_settings(args):
2019-04-02 16:34:03 +02:00
"""
Get new settings object.
:param args: cli args from argparse
:returns: Settings object
"""
config = settings.Settings(
args=args,
)
return config
2019-04-02 16:34:03 +02:00
def get_standards(filepath):
sys.path.append(os.path.abspath(os.path.expanduser(filepath)))
try:
standards = importlib.import_module("standards")
except ImportError as e:
utils.sysexit_with_message(
"Could not import standards from directory %s: %s" % (filepath, str(e)))
if getattr(standards, "ansible_min_version", None) and \
LooseVersion(standards.ansible_min_version) > LooseVersion(ansible.__version__):
utils.sysexit_with_message("Standards require ansible version %s (current version %s). "
"Please upgrade ansible." %
(standards.ansible_min_version, ansible.__version__))
if getattr(standards, "ansible_review_min_version", None) and \
LooseVersion(standards.ansible_review_min_version) > LooseVersion(
utils.get_property("__version__")):
utils.sysexit_with_message(
"Standards require ansible-later version %s (current version %s). "
"Please upgrade ansible-later." %
(standards.ansible_review_min_version, utils.get_property("__version__")))
return standards.standards