multiple bundled courses available

This commit is contained in:
Ekaterina Tuzova
2017-04-06 14:54:32 +03:00
parent 20685771ba
commit dcb5454532
4 changed files with 21 additions and 13 deletions
@@ -26,6 +26,8 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.io.File;
import java.util.Collections;
import java.util.List;
public class PyEduPluginConfigurator implements EduPluginConfigurator {
public static final String PYTHON_3 = "3.x";
@@ -129,15 +131,15 @@ public class PyEduPluginConfigurator implements EduPluginConfigurator {
}
@Override
public String getBundledCoursePath() {
public List<String> getBundledCoursePaths() {
@NonNls String jarPath = PathUtil.getJarPathForClass(PyEduPluginConfigurator.class);
if (jarPath.endsWith(".jar")) {
final File jarFile = new File(jarPath);
File pluginBaseDir = jarFile.getParentFile();
return new File(new File(pluginBaseDir, "courses"), "Introduction to Python.zip").getPath();
return Collections.singletonList(new File(new File(pluginBaseDir, "courses"), "Introduction to Python.zip").getPath());
}
return new File(new File(jarPath, "courses"), "Introduction to Python.zip").getPath();
return Collections.singletonList(new File(new File(jarPath, "courses"), "Introduction to Python.zip").getPath());
}
}
@@ -29,6 +29,7 @@ import icons.InteractiveLearningPythonIcons;
import org.jetbrains.annotations.NotNull;
import java.io.File;
import java.util.List;
public class PyStudyIntroductionCourseAction extends AnAction {
@@ -46,7 +47,8 @@ public class PyStudyIntroductionCourseAction extends AnAction {
return;
}
final EduPluginConfigurator configurator = EduPluginConfigurator.INSTANCE.forLanguage(PythonLanguage.getInstance());
if (configurator.getBundledCoursePath() != null) {
final List<String> paths = configurator.getBundledCoursePaths();
if (paths.isEmpty()) {
return;
}
Presentation presentation = e.getPresentation();
@@ -63,7 +65,7 @@ public class PyStudyIntroductionCourseAction extends AnAction {
else {
final PyStudyDirectoryProjectGenerator generator = new PyStudyDirectoryProjectGenerator(true);
final EduPluginConfigurator configurator = EduPluginConfigurator.INSTANCE.forLanguage(PythonLanguage.getInstance());
final String bundledCoursePath = configurator.getBundledCoursePath();
final String bundledCoursePath = configurator.getBundledCoursePaths().get(0);
Course introCourse = generator.getGenerator().getCourse(bundledCoursePath);
if (introCourse == null) {
return;