]> git.ipfire.org Git - location/libloc.git/blobdiff - src/python/location.in
location: Implement listing bogons
[location/libloc.git] / src / python / location.in
index 0c89d75263370952259255a5470aa4884685b1b1..10269468be95dd99d9a67d3ec6e787dfc421f2dc 100644 (file)
@@ -154,6 +154,15 @@ class CLI(object):
                        choices=location.export.formats.keys(), default="list")
                list_networks_by_flags.set_defaults(func=self.handle_list_networks_by_flags)
 
+               # List bogons
+               list_bogons = subparsers.add_parser("list-bogons",
+                       help=_("Lists all bogons"),
+               )
+               list_bogons.add_argument("--family", choices=("ipv6", "ipv4"))
+               list_bogons.add_argument("--format",
+                       choices=location.export.formats.keys(), default="list")
+               list_bogons.set_defaults(func=self.handle_list_bogons)
+
                # List countries
                list_countries = subparsers.add_parser("list-countries",
                        help=_("Lists all countries"),
@@ -547,6 +556,15 @@ class CLI(object):
 
                f.finish()
 
+       def handle_list_bogons(self, db, ns):
+               writer = self.__get_output_formatter(ns)
+               f = writer(sys.stdout, prefix="bogons")
+
+               for n in db.list_bogons(family=ns.family):
+                       f.write(n)
+
+               f.finish()
+
        def handle_export(self, db, ns):
                countries, asns = [], []