From 16b2e1661451a9706f2600913ccc9d66cc2501c8 Mon Sep 17 00:00:00 2001 From: Manuel Cortez Date: Thu, 22 Nov 2018 17:47:02 -0600 Subject: [PATCH] Removed libloader from the source repository. #273 --- src/libloader/__init__.py | 7 ----- src/libloader/com.py | 35 ------------------------ src/libloader/libloader.py | 56 -------------------------------------- 3 files changed, 98 deletions(-) delete mode 100644 src/libloader/__init__.py delete mode 100644 src/libloader/com.py delete mode 100644 src/libloader/libloader.py diff --git a/src/libloader/__init__.py b/src/libloader/__init__.py deleted file mode 100644 index b7635386..00000000 --- a/src/libloader/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -from .libloader import * - -__version__ = 0.1 -__author__ = 'Christopher Toth ' -__doc__ = """ -Quickly and easily load shared libraries from various platforms. Also includes a libloader.com module for loading com modules on Windows. -""" diff --git a/src/libloader/com.py b/src/libloader/com.py deleted file mode 100644 index 1c9a7a6b..00000000 --- a/src/libloader/com.py +++ /dev/null @@ -1,35 +0,0 @@ -from pywintypes import com_error -import win32com -import paths -win32com.__gen_path__=paths.com_path() -import sys -import os -sys.path.append(os.path.join(win32com.__gen_path__, ".")) -from win32com.client import gencache -fixed=False - -def prepare_gencache(): - gencache.is_readonly = False - gencache.GetGeneratePath() - -def patched_getmodule(modname): - mod=__import__(modname) - return sys.modules[modname] - -def load_com(*names): - global fixed - if fixed==False: - gencache._GetModule=patched_getmodule - prepare_gencache() - fixed=True - result = None - for name in names: - try: - result = gencache.EnsureDispatch(name) - break - except com_error: - continue - if result is None: - raise com_error("Unable to load any of the provided com objects.") - return result - diff --git a/src/libloader/libloader.py b/src/libloader/libloader.py deleted file mode 100644 index 174da584..00000000 --- a/src/libloader/libloader.py +++ /dev/null @@ -1,56 +0,0 @@ -import ctypes -import collections -import platform -import os - -TYPES = { - 'Linux': { - 'loader': ctypes.CDLL, - 'functype': ctypes.CFUNCTYPE, - 'prefix': 'lib', - 'extension': '.so' - }, - 'Darwin': { - 'loader': ctypes.CDLL, - 'functype': ctypes.CFUNCTYPE, - 'prefix': 'lib', - 'extension': '.dylib' - }, -} -if platform.system() == 'Windows': - TYPES['Windows'] = { - 'loader': ctypes.WinDLL, - 'functype': ctypes.WINFUNCTYPE, - 'prefix': "", - 'extension': '.dll' - } - -class LibraryLoadError(OSError): pass - -def load_library(library, x86_path='.', x64_path='.', *args, **kwargs): - lib = find_library_path(library, x86_path=x86_path, x64_path=x64_path) - loaded = _do_load(str(lib), *args, **kwargs) - if loaded is not None: - return loaded - raise LibraryLoadError('unable to load %r. Provided library path: %r' % (library, lib)) - -def _do_load(file, *args, **kwargs): - loader = TYPES[platform.system()]['loader'] - return loader(file, *args, **kwargs) - -def find_library_path(libname, x86_path='.', x64_path='.'): - libname = '%s%s' % (TYPES[platform.system()]['prefix'], libname) - if platform.architecture()[0] == '64bit': - path = os.path.join(x64_path, libname) - else: - path = os.path.join(x86_path, libname) - ext = get_library_extension() - path = '%s%s' % (path, ext) - return os.path.abspath(path) - - -def get_functype(): - return TYPES[platform.system()]['functype'] - -def get_library_extension(): - return TYPES[platform.system()]['extension']