#!/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':
- 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.barracuda_sync_app import PpBarracudaSyncApp
+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.barracuda_sync_app import PpBarracudaSyncApp
__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])
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()
"""
@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 barracuda-sync application object.
"""
from __future__ import absolute_import
from ldap3 import BASE, LEVEL, SUBTREE # noqa
# Own modules
-from .common import pp
+from fb_tools.common import pp
from .ldap_app import PpLdapAppError, PpLdapApplication
from .mailaddress import MailAddress
-__version__ = '0.4.4'
+__version__ = '0.5.0'
LOG = logging.getLogger(__name__)