From 2477befaa269409618e971020a808bf468c7a8a1 Mon Sep 17 00:00:00 2001 From: David Rose Date: Mon, 7 Sep 2009 22:34:20 +0000 Subject: [PATCH] protect PandaModules imports in try..except --- direct/src/ffi/DoGenPyCode.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/direct/src/ffi/DoGenPyCode.py b/direct/src/ffi/DoGenPyCode.py index 5da069983a..e6373ee90c 100644 --- a/direct/src/ffi/DoGenPyCode.py +++ b/direct/src/ffi/DoGenPyCode.py @@ -258,7 +258,11 @@ def generateNativeWrappers(): Dtool_PreloadDLL(moduleName) exec('import %s as module' % moduleName) - pandaModules.write('from %sModules import *\n' % (moduleName)) + # Wrap the import in a try..except so that we can continue if + # the library isn't present. This is particularly necessary + # in the runtime (plugin) environment, where all libraries are + # not necessarily downloaded. + pandaModules.write('try:\n from %sModules import *\nexcept ImportError:\n pass\n\n' % (moduleName)) moduleModulesFilename = os.path.join(outputCodeDir, '%sModules.py' % (moduleName)) moduleModules = open(moduleModulesFilename, 'w')