use of com.jetbrains.edu.learning.courseFormat.Course in project intellij-community by JetBrains.
the class PyStudyDirectoryProjectGenerator method getBaseSdk.
private static String getBaseSdk(@NotNull final Project project) {
final Course course = StudyTaskManager.getInstance(project).getCourse();
LanguageLevel baseLevel = LanguageLevel.PYTHON30;
if (course != null) {
final String version = course.getLanguageVersion();
if (PyStudyLanguageManager.PYTHON_2.equals(version)) {
baseLevel = LanguageLevel.PYTHON27;
} else if (PyStudyLanguageManager.PYTHON_3.equals(version)) {
baseLevel = LanguageLevel.PYTHON31;
} else if (version != null) {
baseLevel = LanguageLevel.fromPythonVersion(version);
}
}
final PythonSdkFlavor flavor = PythonSdkFlavor.getApplicableFlavors(false).get(0);
String baseSdk = null;
final Collection<String> baseSdks = flavor.suggestHomePaths();
for (String sdk : baseSdks) {
final String versionString = flavor.getVersionString(sdk);
final String prefix = flavor.getName() + " ";
if (versionString != null && versionString.startsWith(prefix)) {
final LanguageLevel level = LanguageLevel.fromPythonVersion(versionString.substring(prefix.length()));
if (level.isAtLeast(baseLevel)) {
baseSdk = sdk;
break;
}
}
}
return baseSdk != null ? baseSdk : baseSdks.iterator().next();
}
Aggregations