subparsers = p.add_subparsers(help=_("Sub-command help"),
dest="subparsers_name")
+ # guess-ip-addresses
+ p_guess_ip_addresses = subparsers.add_parser("guess-ip-addresses",
+ help=_("Guess the external IP addresses"))
+
+ # 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 == "guess-ip-addresses":
+ # IPv6
+ ipv6_address = d.system.guess_external_ip_address("ipv6")
+ if ipv6_address:
+ print _("IPv6 Address: %s") % ipv6_address
+
+ # IPv4
+ ipv4_address = d.system.guess_external_ip_address("ipv4")
+ if ipv4_address:
+ print _("IPv4 Address: %s") % ipv4_address
+
+ elif 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":