mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2024-11-23 11:48:07 -06:00
34 lines
987 B
Python
34 lines
987 B
Python
from __future__ import absolute_import
|
|
import ctypes
|
|
import os
|
|
import types
|
|
from platform_utils import paths
|
|
|
|
def load_library(libname, cdll=False):
|
|
if paths.is_frozen():
|
|
libfile = os.path.join(paths.embedded_data_path(), 'accessible_output2', 'lib', libname)
|
|
else:
|
|
libfile = os.path.join(paths.module_path(), 'lib', libname)
|
|
if cdll:
|
|
return ctypes.cdll[libfile]
|
|
else:
|
|
return ctypes.windll[libfile]
|
|
|
|
def get_output_classes():
|
|
from . import outputs
|
|
module_type = types.ModuleType
|
|
classes = [m.output_class for m in outputs.__dict__.values() if type(m) == module_type and hasattr(m, 'output_class')]
|
|
return sorted(classes, key=lambda c: c.priority)
|
|
|
|
def find_datafiles():
|
|
import os
|
|
import platform
|
|
from glob import glob
|
|
import accessible_output2
|
|
if platform.system() != 'Windows':
|
|
return []
|
|
path = os.path.join(accessible_output2.__path__[0], 'lib', '*.dll')
|
|
results = glob(path)
|
|
dest_dir = os.path.join('accessible_output2', 'lib')
|
|
return [(dest_dir, results)]
|