mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Fix EDU-793 PyCharm freezes when creating course from Stepik
Freeze on course creation was caused by EduEduStepicAuthorizedClient which tried to login before getting step. Now we use an authorized client only if user logged in at project creation (it's required for private and adaptive courses), otherwise an unauthorized client is used.
This commit is contained in:
+11
-2
@@ -5,6 +5,7 @@ import com.google.gson.GsonBuilder;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.jetbrains.edu.learning.StudyTaskManager;
|
||||
import com.jetbrains.edu.learning.courseFormat.Course;
|
||||
import com.jetbrains.edu.learning.courseFormat.Lesson;
|
||||
import com.jetbrains.edu.learning.courseFormat.Task;
|
||||
@@ -273,8 +274,16 @@ public class EduStepicConnector {
|
||||
}
|
||||
|
||||
public static StepicWrappers.StepSource getStep(@NotNull Project project, int step) throws IOException {
|
||||
return EduStepicAuthorizedClient.getFromStepic(EduStepicNames.STEPS + String.valueOf(step),
|
||||
StepicWrappers.StepContainer.class, project).steps.get(0);
|
||||
final StudyTaskManager taskManager = StudyTaskManager.getInstance(project);
|
||||
final boolean isAuthorized = taskManager.getUser().getAccessToken() != null;
|
||||
if (isAuthorized) {
|
||||
return EduStepicAuthorizedClient.getFromStepic(EduStepicNames.STEPS + String.valueOf(step),
|
||||
StepicWrappers.StepContainer.class, project).steps.get(0);
|
||||
}
|
||||
else {
|
||||
return EduStepicClient.getFromStepic(EduStepicNames.STEPS + String.valueOf(step),
|
||||
StepicWrappers.StepContainer.class).steps.get(0);
|
||||
}
|
||||
}
|
||||
|
||||
public static void postAttempt(@NotNull final Task task, boolean passed, @NotNull final Project project) {
|
||||
|
||||
Reference in New Issue
Block a user