diff --git a/python/edu/interactive-learning-python/src/com/jetbrains/edu/learning/PyStudyDirectoryProjectGenerator.java b/python/edu/interactive-learning-python/src/com/jetbrains/edu/learning/PyStudyDirectoryProjectGenerator.java index 2372cff24165..3a3b98d444d1 100644 --- a/python/edu/interactive-learning-python/src/com/jetbrains/edu/learning/PyStudyDirectoryProjectGenerator.java +++ b/python/edu/interactive-learning-python/src/com/jetbrains/edu/learning/PyStudyDirectoryProjectGenerator.java @@ -3,11 +3,17 @@ package com.jetbrains.edu.learning; import com.intellij.facet.ui.FacetEditorValidator; import com.intellij.facet.ui.FacetValidatorsManager; import com.intellij.facet.ui.ValidationResult; +import com.intellij.ide.fileTemplates.FileTemplate; +import com.intellij.ide.fileTemplates.FileTemplateManager; +import com.intellij.ide.fileTemplates.FileTemplateUtil; +import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.platform.DirectoryProjectGenerator; +import com.intellij.psi.PsiDirectory; +import com.intellij.psi.PsiManager; import com.jetbrains.edu.learning.courseGeneration.StudyProjectGenerator; import com.jetbrains.edu.learning.ui.StudyNewProjectPanel; import com.jetbrains.python.newProject.PythonProjectGenerator; @@ -21,6 +27,7 @@ import java.util.List; public class PyStudyDirectoryProjectGenerator extends PythonProjectGenerator implements DirectoryProjectGenerator { + private static final Logger LOG = Logger.getInstance(PyStudyDirectoryProjectGenerator.class.getName()); private final StudyProjectGenerator myGenerator; public ValidationResult myValidationResult = new ValidationResult("selected course is not valid"); @@ -58,6 +65,15 @@ public class PyStudyDirectoryProjectGenerator extends PythonProjectGenerator imp public void generateProject(@NotNull final Project project, @NotNull final VirtualFile baseDir, @Nullable Object settings, @NotNull Module module) { myGenerator.generateProject(project, baseDir); + final FileTemplate template = FileTemplateManager.getInstance(project).getInternalTemplate("test_helper"); + final PsiDirectory projectDir = PsiManager.getInstance(project).findDirectory(baseDir); + if (projectDir == null) return; + try { + FileTemplateUtil.createFromTemplate(template, "test_helper.py", null, projectDir); + } + catch (Exception exception) { + LOG.error("Can't copy test_helper.py " + exception.getMessage()); + } } @NotNull @Override diff --git a/python/edu/course-creator-python/resources/fileTemplates/internal/test_helper.py.ft b/python/edu/resources/fileTemplates/internal/test_helper.py.ft similarity index 100% rename from python/edu/course-creator-python/resources/fileTemplates/internal/test_helper.py.ft rename to python/edu/resources/fileTemplates/internal/test_helper.py.ft