]> Frank Brehm's Git Trees - pixelpark/admin-tools.git/commitdiff
Refactored mk-home
authorFrank Brehm <frank@brehm-online.com>
Tue, 19 Jan 2021 22:27:42 +0000 (23:27 +0100)
committerFrank Brehm <frank@brehm-online.com>
Tue, 19 Jan 2021 22:27:42 +0000 (23:27 +0100)
mk-home

diff --git a/mk-home b/mk-home
index e44b5a743b3dec9c42d8273f20f84ff6043f3a74..68ceb5af3b762350c180691f248b64026ddaf389 100755 (executable)
--- a/mk-home
+++ b/mk-home
@@ -1,36 +1,65 @@
 #!/usr/bin/env python3
 
+from __future__ import print_function
+
 # Standard modules
 import sys
+import gettext
+
+__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':
-    cur_dir = os.path.dirname(sys.argv[0])
-if os.path.exists(os.path.join(cur_dir, 'pp_lib')):
-    sys.path.insert(0, os.path.abspath(cur_dir))
+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')
 
-from pp_lib.mk_home_app import PpMkHomeApp
+if module_dir.exists():
+    sys.path.insert(0, str(lib_dir))
 
-log = logging.getLogger(__name__)
+from pp_lib.mk_home_app import PpMkHomeApp
 
 __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])
+appname = my_path.name
 
 locale.setlocale(locale.LC_ALL, '')
 
-app = PpMkHomeApp(appname=appname)
+app = PpMkHomeApp(appname=appname, base_dir=base_dir)
 app.initialized = True
 
 if app.verbose > 2:
-    print("{c}-Object:\n{a}".format(c=app.__class__.__name__, a=app))
+    print("{c}-Object:\n{a}".format(c=app.__class__.__name__, a=app), file=sys.stderr)
 
 app()