mirror of
https://github.com/github/octodns.git
synced 2024-05-11 05:55:00 +00:00
Merge pull request #589 from phelpsw/compare_filtering_and_exit_codes
octodns-compare: Prefix filtering and status code on on mismatch
This commit is contained in:
@@ -7,6 +7,7 @@ from __future__ import absolute_import, division, print_function, \
|
||||
unicode_literals
|
||||
|
||||
from pprint import pprint
|
||||
import sys
|
||||
|
||||
from octodns.cmds.args import ArgumentParser
|
||||
from octodns.manager import Manager
|
||||
@@ -23,13 +24,25 @@ def main():
|
||||
help='Second source(s) to pull data from')
|
||||
parser.add_argument('--zone', default=None, required=True,
|
||||
help='Zone to compare')
|
||||
|
||||
parser.add_argument('--ignore-prefix', default=None, required=False,
|
||||
help='Record prefix to ignore from list of changes')
|
||||
args = parser.parse_args()
|
||||
|
||||
manager = Manager(args.config_file)
|
||||
changes = manager.compare(args.a, args.b, args.zone)
|
||||
|
||||
# Filter changes list based on ignore-prefix argument if present
|
||||
if args.ignore_prefix:
|
||||
pattern = args.ignore_prefix
|
||||
changes = [c for c in changes
|
||||
if not c.record.fqdn.startswith(pattern)]
|
||||
|
||||
pprint(changes)
|
||||
|
||||
# Exit with non-zero exit code if changes exist
|
||||
if len(changes):
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user