Source code for confab.diff

"""
Determine the difference between remote and generated configuration files.
"""

from confab.conffiles import ConfFiles
from confab.data import DataLoader
from confab.loaders import FileSystemEnvironmentLoader
from confab.validate import validate_all

from fabric.api import task


@task
[docs]def diff(templates_dir=None, data_dir=None, generated_dir=None, remotes_dir=None): """ Show configuration file diffs. """ validate_all(templates_dir, data_dir, generated_dir, remotes_dir) conffiles = ConfFiles(FileSystemEnvironmentLoader(templates_dir), DataLoader(data_dir)) conffiles.diff(generated_dir, remotes_dir)