[QGIS Commit] r8340 - trunk/qgis/src/app

svn_qgis at osgeo.org svn_qgis at osgeo.org
Sat Apr 12 16:53:31 EDT 2008


Author: jef
Date: 2008-04-12 16:53:26 -0400 (Sat, 12 Apr 2008)
New Revision: 8340

Modified:
   trunk/qgis/src/app/qgspythonutils.cpp
Log:
fix #1038

Modified: trunk/qgis/src/app/qgspythonutils.cpp
===================================================================
--- trunk/qgis/src/app/qgspythonutils.cpp	2008-04-11 21:20:10 UTC (rev 8339)
+++ trunk/qgis/src/app/qgspythonutils.cpp	2008-04-12 20:53:26 UTC (rev 8340)
@@ -346,11 +346,26 @@
        "  reload(" + packageName + ")\n"
        "  __main__.__plugin_result = 'OK'\n"
        "except:\n"
+       "  __main__.__plugin_result = 'ERROR'\n");
+
+  if( getVariableFromMain("__plugin_result") == "OK" )
+    return true;
+
+  // snake in the grass, we know it's there
+  runString("sys.path_importer_cache.clear()");
+
+  // retry
+  runString(
+       "try:\n"
+       "  import " + packageName + "\n"
+       "  reload(" + packageName + ")\n"
+       "  __main__.__plugin_result = 'OK'\n"
+       "except:\n"
        "  qgis_except_hook_msg(sys.exc_type, sys.exc_value, sys.exc_traceback, "
-       "                       'Couldn\\'t load plugin \"" + packageName + "\"')\n"
+            "'Couldn\\'t load plugin \"" + packageName + "\" from [\\'' + '\\', \\''.join(sys.path) + '\\']')\n"
        "  __main__.__plugin_result = 'ERROR'\n");
-  
-  return (getVariableFromMain("__plugin_result") == "OK");
+
+  return getVariableFromMain("__plugin_result") == "OK";
 }
 
 



More information about the QGIS-commit mailing list