]> Frank Brehm's Git Trees - pixelpark/admin-tools.git/commitdiff
Transforming bin/import-pdnsdata to the new schema
authorFrank Brehm <frank.brehm@pixelpark.com>
Fri, 22 Jan 2021 14:11:29 +0000 (15:11 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Fri, 22 Jan 2021 14:11:29 +0000 (15:11 +0100)
bin/import-pdnsdata
lib/pp_lib/import_pdnsdata.py

index 390d590198751f514082a18f4da8fffa25e2d61c..dc823e236b6c98b4b9c7ba0ab476a64f6cb784d5 100755 (executable)
@@ -1,30 +1,54 @@
 #!/usr/bin/env python3
 
+from __future__ import print_function
+
 # Standard modules
 import sys
+
+__exp_py_version_major__ = 3
+__min_py_version_minor__ = 4
+
+if sys.version_info[0] != __exp_py_version_major__:
+    print("This script is intended to use with Python {}.".format(
+            __exp_py_version_major__), file=sys.stderr)
+    print("You are using Python: {0}.{1}.{2}-{3}-{4}.".format(
+        *sys.version_info) + "\n", file=sys.stderr)
+    sys.exit(1)
+
+if sys.version_info[1] < __min_py_version_minor__:
+    print("A minimal Python version of {maj}.{min} is necessary to execute this script.".format(
+        maj=__exp_py_version_major__, min=__min_py_version_minor__), file=sys.stderr)
+    print("You are using Python: {0}.{1}.{2}-{3}-{4}.".format(
+        *sys.version_info) + "\n", file=sys.stderr)
+    sys.exit(1)
+
+# Standard modules
 import os
-import logging
 import locale
 
+try:
+    import pathlib
+    from pathlib import Path
+except ImportError:
+    from pathlib2 import Path
+    import pathlib2 as pathlib
+
 # own modules:
-cur_dir = os.getcwd()
-base_dir = cur_dir
-
-if sys.argv[0] != '' and sys.argv[0] != '-c':
-    bin_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
-else:
-    bin_dir = os.path.dirname(os.path.realpath(__file__))
-base_dir = os.path.abspath(os.path.join(bin_dir, '..'))
-module_dir = os.path.join(base_dir, 'pp_lib')
-if os.path.exists(module_dir):
-    sys.path.insert(0, base_dir)
 
-from pp_lib.import_pdnsdata import ImportPdnsdataApp
+my_path = Path(__file__)
+my_real_path = my_path.resolve()
+bin_path = my_real_path.parent
+base_dir = bin_path.parent
+lib_dir = base_dir.joinpath('lib')
+module_dir = lib_dir.joinpath('pp_lib')
 
-log = logging.getLogger(__name__)
+if module_dir.exists():
+    sys.path.insert(0, str(lib_dir))
+
+from pp_lib.import_pdnsdata import ImportPdnsdataApp
 
 __author__ = 'Frank Brehm <frank.brehm@pixelpark.com>'
-__copyright__ = '(C) 2018 by Frank Brehm, Pixelpark GmbH, Berlin'
+__copyright__ = '(C) 2021 by Frank Brehm, Pixelpark GmbH, Berlin'
 
 appname = os.path.basename(sys.argv[0])
 
index 93caabe734c06ff086c319b0e70d521e3430be85..b5d65b92bfab48ae79cf1809ab45734ac99b5679 100644 (file)
@@ -3,7 +3,7 @@
 """
 @author: Frank Brehm
 @contact: frank.brehm@pixelpark.com
-@copyright: © 2018 by Frank Brehm, Berlin
+@copyright: © 2021 by Frank Brehm, Berlin
 @summary: The module for the 'import-pdnsdata' application
           to import all data from the current PowerDNS database
 """
@@ -24,14 +24,13 @@ import psycopg2
 import pymysql
 
 # Own modules
-from .common import pp, to_str
-from .common import RE_DOT_AT_END
+from fb_tools.common import pp, to_str, RE_DOT_AT_END
 
 from .cfg_app import PpCfgAppError, PpConfigApplication
 
 from .pdns_record import PdnsSoaData
 
-__version__ = '0.10.3'
+__version__ = '0.10.4'
 LOG = logging.getLogger(__name__)
 
 # =============================================================================