]> git.ipfire.org Git - dbl.git/commitdiff
dnsbl: Allow to pass the output format
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 6 Dec 2025 18:10:13 +0000 (18:10 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 6 Dec 2025 18:10:13 +0000 (18:10 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/dnsbl/lists.py
src/scripts/dnsbl.in

index 21b4a2e86b0d429c8f1ef3c046f38068459b2332..023fb40b6e7c164be54f0954bd1a295a53c80cc9 100644 (file)
@@ -200,9 +200,14 @@ class List(sqlmodel.SQLModel, database.BackendMixin, table=True):
 
        # Export!
 
-       def export(self, f):
+       def export(self, f, format):
                """
                        Exports the list
                """
-               for domain in self.domains:
-                       f.write("%s\n" % domain)
+               # Write the domains as they are
+               if format == "domains":
+                       for domain in self.domains:
+                               f.write("%s\n" % domain)
+
+               else:
+                       raise ValueError("Unknown output format: %s" % format)
index 8ecb6091c118662cef9c57ab3938df6fbb0ed3e4..57f76e70851920d354ff11733ca43fc9b8c6aaf2 100644 (file)
@@ -96,6 +96,8 @@ class CLI(object):
                # export
                export = subparsers.add_parser("export", help=_("Exports a list"))
                export.add_argument("list", help=_("The name of the list"))
+               export.add_argument("--format", default="domains", choices=("domains",),
+                               help=_("Output Format"))
                export.set_defaults(func=self.__export)
 
                # add-source
@@ -255,7 +257,7 @@ class CLI(object):
                list = backend.lists.get_by_slug(args.list)
 
                # Export!
-               list.export(sys.stdout)
+               list.export(sys.stdout, format=args.format)
 
        def __add_source(self, backend, args):
                """