def _get_reference_file(ref_name): # First try to find the dll in the project folder addin_file = framework.get_dll_file(ref_name) if addin_file: load_asm_file(addin_file) return addin_file # Then try to find the dll in windows SDK if FRAMEWORK_DIRS: fw_module_file = _get_framework_module(ref_name) if fw_module_file: return fw_module_file # Lastly try to find location of assembly if already loaded loaded_asm = find_loaded_asm(ref_name) if loaded_asm: return loaded_asm[0].Location # if not worked raise critical error mlogger.critical('Can not find required reference assembly: %s', ref_name)
def _get_reference_file(ref_name): mlogger.debug('Searching for dependency: %s', ref_name) # First try to find the dll in the project folder addin_file = framework.get_dll_file(ref_name) if addin_file: assmutils.load_asm_file(addin_file) return addin_file mlogger.debug('Dependency is not shipped: %s', ref_name) mlogger.debug('Searching for dependency in loaded assemblies: %s', ref_name) # Lastly try to find location of assembly if already loaded loaded_asm = assmutils.find_loaded_asm(ref_name) if loaded_asm: return loaded_asm[0].Location mlogger.debug('Dependency is not loaded: %s', ref_name) mlogger.debug('Searching for dependency in installed frameworks: %s', ref_name) # Then try to find the dll in windows installed framework files if DOTNET_DIR: fw_module_file = _get_framework_module(ref_name) if fw_module_file: return fw_module_file mlogger.debug('Dependency is not installed: %s', ref_name) mlogger.debug('Searching for dependency in installed frameworks sdks: %s', ref_name) # Then try to find the dll in windows SDK if DOTNET_TARGETPACK_DIRS: fw_sdk_module_file = _get_framework_sdk_module(ref_name) if fw_sdk_module_file: return fw_sdk_module_file # if not worked raise critical error mlogger.critical('Can not find required reference assembly: %s', ref_name)
from pyrevit import HOST_APP, PyRevitException, EXEC_PARAMS import pyrevit.compat as compat from pyrevit.compat import safe_strtype from pyrevit import framework from pyrevit.framework import clr from pyrevit.framework import DateTime, DateTimeOffset from pyrevit.coreutils.logger import get_logger #pylint: disable=W0703,C0302 mlogger = get_logger(__name__) #pylint: disable=C0103 GIT_LIB = 'LibGit2Sharp' if not EXEC_PARAMS.doc_mode: LIBGIT_DLL = framework.get_dll_file(GIT_LIB) mlogger.debug('Loading dll: %s', LIBGIT_DLL) try: if compat.PY3: clr.AddReference(LIBGIT_DLL) else: clr.AddReferenceToFileAndPath(LIBGIT_DLL) import LibGit2Sharp as libgit #pylint: disable=import-error except Exception as load_err: mlogger.error( 'Can not load %s module. ' 'This module is necessary for getting pyRevit version ' 'and staying updated. | %s', GIT_LIB, load_err)
"""MathNet importer module. See https://www.mathdotnet.com for documentation. Example: >>> from pyrevit.coreutils.mathnet import MathNet """ #pylint: disable=W0703,C0302,C0103 from pyrevit import EXEC_PARAMS from pyrevit import framework from pyrevit.framework import clr from pyrevit.coreutils.logger import get_logger mlogger = get_logger(__name__) MATHNET_LIB = 'MathNet.Numerics' if not EXEC_PARAMS.doc_mode: mathnet_dll = framework.get_dll_file(MATHNET_LIB) mlogger.debug('Loading dll: %s', mathnet_dll) try: clr.AddReferenceToFileAndPath(mathnet_dll) import MathNet #pylint: disable=E0401,W0611 except Exception as load_err: mlogger.error('Can not load %s module. | %s', MATHNET_LIB, load_err)