This is a RESTFul crawler for ITU Educational Management System
Before runing the app, please make sure that you have all required dependences installed. Using pip to install dependences
pip3 install -r requirements.txt
Run this app as a simple FLASK APP
flask run --host=0.0.0.0
Run backend worker subscribed the queue
rq worker high_coursework_save high_coursework_update
If you want to enable the debug mode. Please change the value of Debug into True in app.py
, and then run it in python3
python3 app.py
Login into EMS system with Email and Password
/login
POST
Content Type: JSON
Parameter | Description | Data Type |
---|---|---|
Required. The ITU student email | string | |
password | Required | string |
{
"errorMsg": null,
"loginSuccess": true,
"sessionId": "sessionId",
"userinfo": {
"avatar": "https://s3.amazonaws.com/itu.ems.production/avatars/xxxx",
"username": "Your Name",
"trimester": "summer 2018"
}
}
List all course works and sort them by due
/courseworks
GET
Content Type: JSON
Parameter | Description | Data Type |
---|---|---|
session_id | Required. Login Session ID | string |
[
{
"available": "Jan 10 1:00 PM",
"course_code": "SWE 680",
"due": "Jan 13 11:00 PM",
"link": "/student/sections/5675/quizzes/3564",
"point": "30.0",
"submit": "",
"title": "Quiz 1B",
"type": "Quizzes"
},
{
"available": "Jan 8 12:00 AM",
"course_code": "SWE 680",
"due": "Jan 13 11:59 PM",
"link": "/student/sections/5675/quizzes/3565",
"point": "30.0",
"submit": "",
"title": "Quiz 1 ( Chapter 1 and 2)",
"type": "Quizzes"
}
]
Get assignment details including description and all attachments
/assignment
GET
Content Type: JSON
Parameter | Description | Data Type |
---|---|---|
session_id | Required. Login Session ID | string |
assignment_link | Required. Assginment link | string |
{
"desc": [
"\n",
"See the attached instructions.",
"\n"
],
"documents": [
{
"link": "https://s3.amazonaws.com/itu.ems.production/attachments/xxxxx",
"name": "Homework.pdf",
"size": "427 KB"
}
],
"title": "First week homework"
}