subparsers = p.add_subparsers(help=_("Sub-command help"),
dest="subparsers_name")
+ # list-providers
+ p_list_providers = subparsers.add_parser("list-providers",
+ help=_("List all available providers"))
+
# update
p_update = subparsers.add_parser("update", help=_("Update DNS record"))
p_update.add_argument("hostname")
d.load_configuration(args.config)
# Handle commands...
- if args.subparsers_name == "update":
+ if args.subparsers_name == "list-providers":
+ provider_names = d.get_provider_names()
+ print "\n".join(provider_names)
+
+ elif args.subparsers_name == "update":
d.updateone(hostname=args.hostname, force=args.force)
elif args.subparsers_name == "update-all":
):
self.register_provider(provider)
+ def get_provider_names(self):
+ """
+ Returns a list of names of all registered providers.
+ """
+ return sorted(self.providers.keys())
+
def load_configuration(self, filename):
configs = ConfigParser.SafeConfigParser()
configs.read([filename,])