mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
fixed get available private courses
This commit is contained in:
+2
-2
@@ -401,11 +401,11 @@ public class StudyProjectGenerator {
|
||||
|
||||
// Supposed to be called under progress
|
||||
public List<CourseInfo> getCourses(boolean force) {
|
||||
if (OUR_COURSES_DIR.exists()) {
|
||||
if (OUR_COURSES_DIR.exists() && !force) {
|
||||
myCourses = getCoursesFromCache();
|
||||
}
|
||||
if (force || myCourses.isEmpty()) {
|
||||
myCourses = execCancelable(EduStepicConnector::getCourses);
|
||||
myCourses = execCancelable(() -> EduStepicConnector.getCourses(myUser));
|
||||
flushCache(myCourses);
|
||||
}
|
||||
if (myCourses.isEmpty()) {
|
||||
|
||||
+10
-5
@@ -57,11 +57,11 @@ public class EduStepicConnector {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static List<CourseInfo> getCourses() {
|
||||
public static List<CourseInfo> getCourses(@Nullable StepicUser user) {
|
||||
try {
|
||||
List<CourseInfo> result = new ArrayList<>();
|
||||
int pageNumber = 1;
|
||||
while (addCoursesFromStepic(result, pageNumber)) {
|
||||
while (addCoursesFromStepic(user, result, pageNumber)) {
|
||||
pageNumber += 1;
|
||||
}
|
||||
return result;
|
||||
@@ -117,7 +117,7 @@ public class EduStepicConnector {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static boolean addCoursesFromStepic(List<CourseInfo> result, int pageNumber) throws IOException {
|
||||
private static boolean addCoursesFromStepic(@Nullable StepicUser user, List<CourseInfo> result, int pageNumber) throws IOException {
|
||||
final URI url;
|
||||
try {
|
||||
url = new URIBuilder(EduStepicNames.COURSES).addParameter("is_idea_compatible", "true").
|
||||
@@ -127,8 +127,13 @@ public class EduStepicConnector {
|
||||
LOG.error(e.getMessage());
|
||||
return false;
|
||||
}
|
||||
final StepicWrappers.CoursesContainer coursesContainer = EduStepicClient.getFromStepic(url.toString(),
|
||||
StepicWrappers.CoursesContainer.class);
|
||||
final StepicWrappers.CoursesContainer coursesContainer;
|
||||
if (user != null) {
|
||||
coursesContainer = EduStepicAuthorizedClient.getFromStepic(url.toString(), StepicWrappers.CoursesContainer.class, user);
|
||||
}
|
||||
else {
|
||||
coursesContainer = EduStepicClient.getFromStepic(url.toString(), StepicWrappers.CoursesContainer.class);
|
||||
}
|
||||
addAvailableCourses(result, coursesContainer);
|
||||
return coursesContainer.meta.containsKey("has_next") && coursesContainer.meta.get("has_next") == Boolean.TRUE;
|
||||
}
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ public class EduStepicUpdater {
|
||||
private static ActionCallback updateCourseList() {
|
||||
ActionCallback callback = new ActionCallback();
|
||||
ApplicationManager.getApplication().executeOnPooledThread(() -> {
|
||||
final List<CourseInfo> courses = EduStepicConnector.getCourses();
|
||||
final List<CourseInfo> courses = EduStepicConnector.getCourses(null);
|
||||
final List<CourseInfo> cachedCourses = StudyProjectGenerator.getCoursesFromCache();
|
||||
StudyProjectGenerator.flushCache(courses);
|
||||
StepicUpdateSettings.getInstance().setLastTimeChecked(System.currentTimeMillis());
|
||||
|
||||
+1
-1
@@ -346,7 +346,7 @@ public class StudyNewProjectPanel extends JPanel implements PanelWithAnchor {
|
||||
|
||||
final StepicUser stepicUser = StudyUtils.execCancelable(() -> EduStepicAuthorizedClient.login(myLoginPanel.getLogin(),
|
||||
myLoginPanel.getPassword()));
|
||||
if (stepicUser != null) {
|
||||
if (stepicUser != null && stepicUser.getAccessToken() != null) {
|
||||
stepicUser.setEmail(myLoginPanel.getLogin());
|
||||
stepicUser.setPassword(myLoginPanel.getPassword());
|
||||
myGenerator.myUser = stepicUser;
|
||||
|
||||
Reference in New Issue
Block a user