Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 19 additions & 4 deletions lib/ansiblereview/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
from ansiblelint import default_rulesdir, RulesCollection
try:
from ansiblelint.constants import DEFAULT_RULESDIR
except ImportError:
from ansiblelint import default_rulesdir as DEFAULT_RULESDIR
try:
from ansiblelint.rules import RulesCollection
except ImportError:
from ansiblelint import RulesCollection
import codecs
from functools import partial
import re
Expand All @@ -15,6 +22,9 @@
from ansible.utils import module_finder as module_loader


RC_HAS_CREATE_FROM_DIR = hasattr(RulesCollection, "create_from_directory")


class AnsibleReviewFormatter(object):

def format(self, match):
Expand Down Expand Up @@ -215,9 +225,14 @@ def lintcheck(rulename):
def ansiblelint(rulename, candidate, settings):
result = Result(candidate.path)
rules = RulesCollection()
rules.extend(RulesCollection.create_from_directory(default_rulesdir))
if settings.lintdir:
rules.extend(RulesCollection.create_from_directory(settings.lintdir))
if RC_HAS_CREATE_FROM_DIR:
rules.extend(RulesCollection.create_from_directory(DEFAULT_RULESDIR))
if settings.lintdir:
rules.extend(RulesCollection.create_from_directory(settings.lintdir))
else:
rules.extend(RulesCollection([DEFAULT_RULESDIR]))
if settings.lintdir:
rules.extend(RulesCollection([settings.lintdir]))

fileinfo = dict(path=candidate.path, type=candidate.filetype)
matches = rules.run(fileinfo, rulename.split(','))
Expand Down