From 0d5bb1c427b43b39debf41dc8c0c1120f87c9633 Mon Sep 17 00:00:00 2001 From: sebastianhempel Date: Fri, 19 Sep 2008 18:06:04 +0000 Subject: [PATCH] intelligent library search git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@155 67173fc5-114c-0410-ac8e-9d2fd5bffc1f --- port/PyAssimp/pyassimp/helper.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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