summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Lint/Deltas.py
blob: 114f2e3487cf66de0cc85a12b933a4ace172ffce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import Bcfg2.Server.Lint
from Bcfg2.Server.Plugins.Cfg import CfgFilter

class Deltas(Bcfg2.Server.Lint.ServerPlugin):
    """ Warn about usage of .cat and .diff files """

    def Run(self):
        """ run plugin """
        if 'Cfg' in self.core.plugins:
            cfg = self.core.plugins['Cfg']
            for basename, entry in list(cfg.entries.items()):
                self.check_entry(basename, entry)

    @classmethod
    def Errors(cls):
        return {"cat-file-used":"warning",
                "diff-file-used":"warning"}

    def check_entry(self, basename, entry):
        for fname, processor in entry.entries.items():
            if self.HandlesFile(fname) and isinstance(processor, CfgFilter):
                extension = fname.split(".")[-1]
                self.LintError("%s-file-used" % extension,
                               "%s file used on %s: %s" %
                               (extension, basename, fname))