Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -4,9 +4,20 @@ import java.util.Date;
|
||||
|
||||
public class Assignment {
|
||||
private final String id;
|
||||
private String title;
|
||||
private long dueTime;
|
||||
private int gradeScaleMaxPoints;
|
||||
private String gradebookItemName;
|
||||
private String gradeScale;
|
||||
private String grade;
|
||||
|
||||
Assignment(String id) {
|
||||
Assignment(String id, String title, long dueTime, String gradebookItemName, String gradeScale) {//, String grade
|
||||
this.id = id;
|
||||
this.title = title;
|
||||
this.dueTime = dueTime;
|
||||
this.gradebookItemName = gradebookItemName;
|
||||
this.gradeScale = gradeScale;
|
||||
//this.grade = grade;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
@@ -19,7 +30,7 @@ public class Assignment {
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return "Assignment Title";
|
||||
return title;
|
||||
}
|
||||
|
||||
public String getStatus() {
|
||||
@@ -27,6 +38,6 @@ public class Assignment {
|
||||
}
|
||||
|
||||
public long getDueDate() {
|
||||
return (new Date()).getTime();
|
||||
return dueTime;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.json.JSONObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.regex.MatchResult;
|
||||
|
||||
import de.sebse.fuplanner.tools.AsyncQueue;
|
||||
@@ -139,6 +140,7 @@ public class KVVModuleList extends HTTPService {
|
||||
|
||||
|
||||
public void getAssignments(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback) {
|
||||
//log.d("In getAssignments");
|
||||
queueModuleDetails.add(module.getID(), () -> {
|
||||
if (module.assignments != null) {
|
||||
callback.onResponse(module);
|
||||
@@ -154,7 +156,75 @@ public class KVVModuleList extends HTTPService {
|
||||
}
|
||||
|
||||
private void getAssignmentsUpgrade(String ID, final NetworkCallback<ArrayList<Assignment>> callback, final NetworkErrorCallback errorCallback) {
|
||||
callback.onResponse(new ArrayList<Assignment>());
|
||||
get(String.format("https://kvv.imp.fu-berlin.de/direct/assignment/site/%s.json", ID), token.getCookies(), response ->{
|
||||
String body = response.getParsed();
|
||||
if (body == null) {
|
||||
errorCallback.onError(new NetworkError(101301, 403, "No assignments retrieved!"));
|
||||
return;
|
||||
}
|
||||
ArrayList<Assignment> assignments = new ArrayList<>();
|
||||
try {
|
||||
JSONObject json = new JSONObject(body);
|
||||
JSONArray sites = json.getJSONArray("assignment_collection");
|
||||
|
||||
for (int i = 0; i < sites.length(); i++) {
|
||||
log.d("Assignment FOUND!", i);
|
||||
JSONObject site = sites.getJSONObject(i);
|
||||
String id = site.getString("id");
|
||||
String title = site.getString("title");
|
||||
long dueTime = site.getJSONObject("dueTime").getLong("time");
|
||||
String gradebookItemName = site.getString("gradebookItemName");
|
||||
String gradeScale = site.getString("gradeScale");
|
||||
|
||||
//ToDO PDFs links rausziehen
|
||||
//JSONObject attachments = site.getJSONObject("attachments");
|
||||
//JSONArray urls = json.getJSONArray("attachments");
|
||||
/*for (int j =0; j<urls.length(); i++){
|
||||
log.d("URL:", urls.getString(j));
|
||||
}*/
|
||||
|
||||
|
||||
log.d("Assignment:", id, dueTime, gradebookItemName, gradeScale );
|
||||
|
||||
|
||||
//Für Punkte
|
||||
//AtomicReference<String> comment = null;//ToDO Sebasian Fragen ????????????????????????
|
||||
//AtomicReference<String> grade = null; //Variable used in lambda expression should be final or effectively final
|
||||
if ( !gradebookItemName.equals("null") ){//Wenn gradebookItemName vorhanden dann erhaltene Punkte nachschauen
|
||||
//https://kvv.imp.fu-berlin.de/direct/gradebook/item/{ModulID}/{gradebookItemName}.json
|
||||
get(String.format("https://kvv.imp.fu-berlin.de/direct/gradebook/item/%s/%s.json", ID, gradebookItemName ), token.getCookies(), response2 ->{
|
||||
String bodygradebook = response2.getParsed();
|
||||
if (bodygradebook == null) {
|
||||
errorCallback.onError(new NetworkError(101302, 403, "No gradebook for assignments!"));
|
||||
return;
|
||||
}
|
||||
try {
|
||||
JSONObject json2 = new JSONObject(bodygradebook);
|
||||
//JSONArray sites2 = json2.getJSONArray("assignment_collection");
|
||||
//comment.set(json2.getString("comment"));
|
||||
//grade.set(json2.getString("grade"));
|
||||
String comment = json2.getString("comment");
|
||||
String grade = json2.getString("grade");
|
||||
log.d("Note:", comment, grade );
|
||||
}catch (JSONException e) {
|
||||
errorCallback.onError(new NetworkError(101304, 403, "Cannot parse gradebook for announcements!"));
|
||||
return;
|
||||
}
|
||||
}, error -> errorCallback.onError(new NetworkError(101305, error.networkResponse.statusCode, "Cannot get gradebook for assignments!")));
|
||||
}
|
||||
|
||||
|
||||
|
||||
assignments.add(new Assignment(id, title, dueTime, gradebookItemName, gradeScale));
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
errorCallback.onError(new NetworkError(101306, 403, "Cannot parse announcements!"));
|
||||
return;
|
||||
}
|
||||
callback.onResponse(assignments);
|
||||
}, error -> errorCallback.onError(new NetworkError(101303, error.networkResponse.statusCode, "Cannot get assignments!")));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user