diff options
| author | Juerg Rast <juergr@gmail.com> | 2016-05-02 17:49:36 +0200 |
|---|---|---|
| committer | Juerg Rast <juergr@gmail.com> | 2016-05-02 17:49:36 +0200 |
| commit | b9fb36b14fd495741d332480b430fa3bd6c16748 (patch) | |
| tree | 35c6e341205604d37fff3a396a278f17e22c933c | |
| parent | 26f9717276b1c924a00ddf7e6b905699c7f60429 (diff) | |
| download | pymba-b9fb36b14fd495741d332480b430fa3bd6c16748.tar.gz pymba-b9fb36b14fd495741d332480b430fa3bd6c16748.zip | |
Better DLL search, including support for Vimba 2.0
| -rw-r--r-- | pymba/vimbadll.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/pymba/vimbadll.py b/pymba/vimbadll.py index c1d9430..68c8bfd 100644 --- a/pymba/vimbadll.py +++ b/pymba/vimbadll.py @@ -10,8 +10,17 @@ if sys_plat == "win32": def find_win_dll(arch): """ Finds the highest versioned windows dll for the specified architecture. """ - base = r'C:\Program Files\Allied Vision Technologies\AVTVimba_1.%i\VimbaC\Bin\Win%i\VimbaC.dll' - dlls = [base % (i, arch) for i in range(10) if os.path.isfile(base % (i, arch)) ] + bases = [ + r'C:\Program Files\Allied Vision Technologies\AVTVimba_%i.%i\VimbaC\Bin\Win%i\VimbaC.dll', + r'C:\Program Files\Allied Vision\Vimba_%i.%i\VimbaC\Bin\Win%i\VimbaC.dll' + ] + dlls = [] + for base in bases: + for major in range(3): + for minor in range(10): + candidate = base % (major, minor, arch) + if os.path.isfile(candidate): + dlls.append(candidate) if not dlls: raise IOError("VimbaC.dll not found.") return dlls[-1] |
