]> Frank Brehm's Git Trees - pixelpark/admin-tools.git/commitdiff
Setting domain metadata keys 'SOA-EDIT-DNSUPDATE' and 'SOA-EDIT-API' during import...
authorFrank Brehm <frank.brehm@pixelpark.com>
Wed, 17 Jan 2018 11:19:26 +0000 (12:19 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Wed, 17 Jan 2018 11:19:26 +0000 (12:19 +0100)
pp_lib/import_pdnsdata.py

index bcb12bb532f518a14c4a6b5d5f17696ff630d0cf..aa63e31ca4994540977939193a1194a1e20bb08a 100644 (file)
@@ -31,7 +31,7 @@ from .common import pp, to_bool
 
 from .cfg_app import PpCfgAppError, PpConfigApplication
 
-__version__ = '0.8.7'
+__version__ = '0.8.8'
 LOG = logging.getLogger(__name__)
 
 # =============================================================================
@@ -618,6 +618,13 @@ class ImportPdnsdataApp(PpConfigApplication):
         if self.verbose > 1:
             LOG.debug("Target SQL:\n{}".format(tgt_sql))
 
+        tgt_sql_metadata = textwrap.dedent('''\
+            INSERT INTO domainmetadata (domain_id, kind, content)
+                VALUES (%(domain_id)s, %(kind)s, %(content)s)
+            ''').strip()
+        if self.verbose > 1:
+            LOG.debug("Target SQL for domain metadata:\n{}".format(tgt_sql))
+
         with self.tgt_connection.cursor() as tgt_cursor:
             with self.src_connection.cursor() as src_cursor:
 
@@ -648,8 +655,32 @@ class ImportPdnsdataApp(PpConfigApplication):
                                 LOG.debug("Setting account information of zone {!r} to {!r}.".format(
                                     result['name'], cur_account))
                             result['account'] = cur_account
+                    if self.verbose > 1:
+                        LOG.debug("SQL for insert domain:\n{}".format(
+                            tgt_cursor.mogrify(tgt_sql, result)))
                     if not self.simulate:
                         tgt_cursor.execute(tgt_sql, result)
+
+                    # Inserting domain metadata for SOA-EDIT-DNSUPDATE
+                    params = {
+                        'domain_id': dom_id,
+                        'kind': 'SOA-EDIT-DNSUPDATE',
+                        'content': 'DEFAULT',
+                    }
+                    if self.verbose > 1:
+                        LOG.debug("SQL for insert domain metadata 1:\n{}".format(
+                            tgt_cursor.mogrify(tgt_sql_metadata, params)))
+                    if not self.simulate:
+                        tgt_cursor.execute(tgt_sql_metadata, params)
+
+                    # Inserting domain metadata for SOA-EDIT-API
+                    params['kind'] = 'SOA-EDIT-API'
+                    if self.verbose > 1:
+                        LOG.debug("SQL for insert domain metadata 2:\n{}".format(
+                            tgt_cursor.mogrify(tgt_sql_metadata, params)))
+                    if not self.simulate:
+                        tgt_cursor.execute(tgt_sql_metadata, params)
+
                 LOG.info("Imported {} domains.".format(i))
 
             if self.tgt_db_type != 'mysql':