Source code for zsl.application.initializers.library_initializer

"""
:mod:`zsl.application.initializers.library_initializer`
-------------------------------------------------------
"""
import logging
import os
import sys

from zsl import Config, inject


[docs] def append_paths(path, vendor_modules): new_path = [] for v in vendor_modules: new_path.append(path + os.sep + v) sys.path = new_path + sys.path
[docs] class LibraryInitializer: """Add vendor modules to current path."""
[docs] @staticmethod @inject(config=Config) def initialize(config): logging.debug("Initializing project external libraries.") external_libraries = config.get('EXTERNAL_LIBRARIES', None) if external_libraries is None: return vendor_path = external_libraries['vendor_path'] append_paths(vendor_path, external_libraries['libs']) logging.info("Current PYTHON_PATH={0}.".format(sys.path)) logging.debug("Project external libraries initialized.")