From aa1ea9cb6e2a6cf8501e590fb53e0c61901eed8a Mon Sep 17 00:00:00 2001 From: Frank Brehm Date: Fri, 22 Jan 2021 15:11:29 +0100 Subject: [PATCH] Transforming bin/import-pdnsdata to the new schema --- bin/import-pdnsdata | 54 +++++++++++++++++++++++++---------- lib/pp_lib/import_pdnsdata.py | 7 ++--- 2 files changed, 42 insertions(+), 19 deletions(-) diff --git a/bin/import-pdnsdata b/bin/import-pdnsdata index 390d590..dc823e2 100755 --- a/bin/import-pdnsdata +++ b/bin/import-pdnsdata @@ -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 ' -__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]) diff --git a/lib/pp_lib/import_pdnsdata.py b/lib/pp_lib/import_pdnsdata.py index 93caabe..b5d65b9 100644 --- a/lib/pp_lib/import_pdnsdata.py +++ b/lib/pp_lib/import_pdnsdata.py @@ -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__) # ============================================================================= -- 2.39.5