Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -4,9 +4,20 @@ import java.util.Date;
|
|||||||
|
|
||||||
public class Assignment {
|
public class Assignment {
|
||||||
private final String id;
|
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.id = id;
|
||||||
|
this.title = title;
|
||||||
|
this.dueTime = dueTime;
|
||||||
|
this.gradebookItemName = gradebookItemName;
|
||||||
|
this.gradeScale = gradeScale;
|
||||||
|
//this.grade = grade;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
@@ -19,7 +30,7 @@ public class Assignment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getTitle() {
|
public String getTitle() {
|
||||||
return "Assignment Title";
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getStatus() {
|
public String getStatus() {
|
||||||
@@ -27,6 +38,6 @@ public class Assignment {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public long getDueDate() {
|
public long getDueDate() {
|
||||||
return (new Date()).getTime();
|
return dueTime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import org.json.JSONObject;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import java.util.regex.MatchResult;
|
import java.util.regex.MatchResult;
|
||||||
|
|
||||||
import de.sebse.fuplanner.tools.AsyncQueue;
|
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) {
|
public void getAssignments(Modules.Module module, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback) {
|
||||||
|
//log.d("In getAssignments");
|
||||||
queueModuleDetails.add(module.getID(), () -> {
|
queueModuleDetails.add(module.getID(), () -> {
|
||||||
if (module.assignments != null) {
|
if (module.assignments != null) {
|
||||||
callback.onResponse(module);
|
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) {
|
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