This commit is contained in:
Dmitry Jemerov
2009-12-10 21:23:02 +03:00
parent 7546967f07
commit e3cbb528df
2 changed files with 11 additions and 12 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
<name>Python</name>
<idea-version since-build="90.122"/>
<description>Smart editing for Python scripts</description>
<version>2.2</version>
<version>2.2.1</version>
<depends>com.intellij.modules.ultimate</depends>
<vendor url="http://www.jetbrains.com/idea/" logo="/com/jetbrains/python/python.png">JetBrains, Keith Lea</vendor>
<change-notes>
@@ -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) {}
}
}
}