]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
samba-tool gpo: separate function for dtd header generation
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Tue, 18 Mar 2025 23:50:31 +0000 (12:50 +1300)
committerRalph Boehme <slow@samba.org>
Sat, 29 Mar 2025 07:23:43 +0000 (07:23 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Ralph Boehme <slow@samba.org>
python/samba/netcmd/gpo.py

index ada5f142a6f8d9f5a900f9a4f6288562cc6041ca..d4f4604b16c08edda64790789b426135e246b052 100644 (file)
@@ -1633,14 +1633,10 @@ class cmd_restore(cmd_create):
                             self.outf.write('WARNING: Error during parsing for %s\n' % l_name)
                             self.outf.write('WARNING: Falling back to simple copy-restore.\n')
 
-    def run(self, displayname, backup, H=None, tmpdir=None, entities=None, sambaopts=None, credopts=None,
-            versionopts=None, restore_metadata=None):
-
+    @staticmethod
+    def generate_dtd_header(entities):
         dtd_header = ''
 
-        if not os.path.exists(backup):
-            raise CommandError("Backup directory does not exist %s" % backup)
-
         if entities is not None:
             # DOCTYPE name is meant to match root element, but ElementTree does
             # not seem to care, so this seems to be enough.
@@ -1663,6 +1659,16 @@ class cmd_restore(cmd_create):
 
             dtd_header += '\n]>\n'
 
+        return dtd_header
+
+    def run(self, displayname, backup, H=None, tmpdir=None, entities=None, sambaopts=None, credopts=None,
+            versionopts=None, restore_metadata=None):
+
+        if not os.path.exists(backup):
+            raise CommandError("Backup directory does not exist %s" % backup)
+
+        dtd_header = self.generate_dtd_header(entities)
+
         super().run(displayname, H, tmpdir, sambaopts, credopts, versionopts)
 
         try: