diff --git a/port/PyAssimp/pyassimp/helper.py b/port/PyAssimp/pyassimp/helper.py index 53046c340..bfc45cd55 100644 --- a/port/PyAssimp/pyassimp/helper.py +++ b/port/PyAssimp/pyassimp/helper.py @@ -7,6 +7,7 @@ Some fancy helper functions. import os import ctypes import structs +import operator from errors import AssimpError from ctypes import POINTER @@ -29,6 +30,8 @@ def search_library(): #this path folder = os.path.dirname(__file__) + candidates = [] + #test every file for filename in os.listdir(folder): library = os.path.join(folder, filename) @@ -51,6 +54,12 @@ def search_library(): #Library found! load.restype = POINTER(structs.SCENE) - return (load, release) + candidates.append((library, load, release)) - raise AssimpError, "assimp library not found" \ No newline at end of file + if not candidates: + #no library found + raise AssimpError, "assimp library not found" + else: + #get the newest library + candidates = map(lambda x: (os.lstat(x[0])[-2], x), candidates) + return max(candidates, key=operator.itemgetter(0))[1][1:] \ No newline at end of file