From d9aa0ab9c504fdfe34b8b8fb660d87e712adc94a Mon Sep 17 00:00:00 2001 From: Oleksii Shevchuk Date: Tue, 25 Oct 2016 22:50:23 +0300 Subject: [PATCH] Search for dlls in packages path, if not found by passed path --- pupy/pupylib/PupyClient.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pupy/pupylib/PupyClient.py b/pupy/pupylib/PupyClient.py index 451139e4..cc936c0a 100644 --- a/pupy/pupylib/PupyClient.py +++ b/pupy/pupylib/PupyClient.py @@ -182,10 +182,22 @@ class PupyClient(object): if name in self.imported_dlls: return False buf=b"" + + if not os.path.exists(path): + path = None + for packages_path in self.get_packages_path(): + packages_path = os.path.join(packages_path, name) + if os.path.exists(packages_path): + path = packages_path + + if not path: + raise ImportError("load_dll: couldn't find {}".format(name)) + with open(path,'rb') as f: buf=f.read() if not self.conn.modules.pupy.load_dll(name, buf): - raise ImportError("load_dll: couldn't load %s"%name) + raise ImportError("load_dll: couldn't load {}".format(name)) + self.imported_dlls[name]=True return True