Source code for Bcfg2.Server.Plugins.Cfg.CfgCatFilter

""" Handle .cat files, which append lines to and remove lines from
plaintext files """

from Bcfg2.Server.Plugins.Cfg import CfgFilter

[docs]class CfgCatFilter(CfgFilter): """ CfgCatFilter appends lines to and remove lines from plaintext :ref:`server-plugins-generators-Cfg` files""" #: Handle .cat files __extensions__ = ['cat'] #: .cat files are deprecated deprecated = True
[docs] def modify_data(self, entry, metadata, data): datalines = data.strip().split('\n') for line in'\n'): if not line: continue if line.startswith('+'): datalines.append(line[1:]) elif line.startswith('-'): if line[1:] in datalines: datalines.remove(line[1:]) return "\n".join(datalines) + "\n"
modify_data.__doc__ = CfgFilter.modify_data.__doc__