Skip to content

Commit

Permalink
Make compatible with ansible-lint >= 4.3.1
Browse files Browse the repository at this point in the history
This version renamed and moved default_rulesdir and RulesCollection and
removed the create_from_directory() class method of the latter.

Signed-off-by: Nils Philippsen <[email protected]>
  • Loading branch information
nphilipp committed Feb 24, 2021
1 parent 29c2d00 commit 1246ca3
Showing 1 changed file with 19 additions and 4 deletions.
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

0 comments on commit 1246ca3

Please sign in to comment.