diff --git a/python/pluginSrc/META-INF/plugin.xml b/python/pluginSrc/META-INF/plugin.xml
index e116e3266fef..1100e9434d7e 100644
--- a/python/pluginSrc/META-INF/plugin.xml
+++ b/python/pluginSrc/META-INF/plugin.xml
@@ -6,7 +6,7 @@
Python
Smart editing for Python scripts
- 2.2
+ 2.2.1
com.intellij.modules.ultimate
JetBrains, Keith Lea
diff --git a/python/src/com/jetbrains/python/psi/impl/PyBuiltinCache.java b/python/src/com/jetbrains/python/psi/impl/PyBuiltinCache.java
index 4999700e41a0..2d22146958b8 100644
--- a/python/src/com/jetbrains/python/psi/impl/PyBuiltinCache.java
+++ b/python/src/com/jetbrains/python/psi/impl/PyBuiltinCache.java
@@ -8,6 +8,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.ProjectRootManager;
+import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
@@ -64,23 +65,21 @@ public class PyBuiltinCache {
}
if (sdk != null) {
// dig out the builtins file, create an instance based on it
- for (String url : sdk.getRootProvider().getUrls(PythonSdkType.BUITLIN_ROOT_TYPE)) {
+ final String[] urls = sdk.getRootProvider().getUrls(PythonSdkType.BUITLIN_ROOT_TYPE);
+ for (String url : urls) {
if (url.contains(PythonSdkType.SKELETON_DIR_NAME)) {
final String builtins_url = url + "/" + ((PythonSdkType)sdk.getSdkType()).getBuiltinsFileName();
File builtins = new File(VfsUtil.urlToPath(builtins_url));
if (builtins.isFile() && builtins.canRead()) {
- try {
- VirtualFile builtins_vfile = VfsUtil.findFileByURL(new URL(builtins_url));
- if (builtins_vfile != null) {
- PsiFile builtins_psifile = PsiManager.getInstance(project).findFile(builtins_vfile);
- if (builtins_psifile instanceof PyFile) {
- instance = new PyBuiltinCache((PyFile)builtins_psifile);
- ourInstanceCache.put(instance_key, instance);
- return instance;
- }
+ VirtualFile builtins_vfile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(builtins);
+ if (builtins_vfile != null) {
+ PsiFile builtins_psifile = PsiManager.getInstance(project).findFile(builtins_vfile);
+ if (builtins_psifile instanceof PyFile) {
+ instance = new PyBuiltinCache((PyFile)builtins_psifile);
+ ourInstanceCache.put(instance_key, instance);
+ return instance;
}
}
- catch (MalformedURLException ignored) {}
}
}
}