def main(args=None, logger=None): args = parser.parse_args(args) if args.set: PowergloveDns.set_config(*args.set) return assistant = PowergloveDns(pdns_sqla_url=args.pdns_connect_string, logger=logger) if args.fqdn_to_test: return assistant.fqdn_is_present(args.fqdn_to_test) elif args.fqdn_to_assert: if not assistant.fqdn_is_present(args.fqdn_to_assert): raise PowergloveError('no A or CNAME record named %s is present' % args.fqdn_to_assert) return 0 elif args.remove: return assistant.remove_fqdn(args.remove) elif args.cname: return assistant.add_cname_record(*args.cname) elif args.add: return assistant.add_a_record(args.add[0], args.add[1:], args.ttl, args.text_record_contents) else: raise RuntimeError('unknown command specified given args: %r' % args)