summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorripdog <ripdog@users.noreply.github.com>2019-12-04 11:42:57 +1300
committerjaseg <code@jaseg.net>2019-12-03 23:47:47 +0100
commit62ef265e2daf49436079bb23a23de7398b57eaab (patch)
tree23d875efb13d564eb3095dd907c07d4217ca9439
parent9d9c2b26f3fe173964f702e1c7c22f866d2411c8 (diff)
downloadpython-mpv-62ef265e2daf49436079bb23a23de7398b57eaab.tar.gz
python-mpv-62ef265e2daf49436079bb23a23de7398b57eaab.tar.bz2
python-mpv-62ef265e2daf49436079bb23a23de7398b57eaab.zip
Allow mpv-1.dll to be placed in python script directory (#96)
Windows: Look for DLL in script directory Loading DLLs through ctypes on Windows is a mess. ctypes looks in PATH, which is different from the Windows built-in DLL loading system. By default ctypes looks next to python.exe, but you might not want to install python script dependencies next to the system-wide python interpreter. This commit adds a fallback looking for mpv-1.dll in the same directory the mpv.py script is placed in to allow people to use python-mpv with a minimum in configuration. You can still control loading behavior through PATH. For details on this, consult the following stackoverflow answer: https://stackoverflow.com/a/23805306
-rw-r--r--mpv.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/mpv.py b/mpv.py
index 2b2f73b..fd77a35 100644
--- a/mpv.py
+++ b/mpv.py
@@ -28,7 +28,10 @@ import re
import traceback
if os.name == 'nt':
- backend = CDLL('mpv-1.dll')
+ try:
+ backend = CDLL('mpv-1.dll')
+ except FileNotFoundError:
+ backend = CDLL(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'mpv-1.dll'))
fs_enc = 'utf-8'
else:
import locale