This file is used get the courses information from the moodle.
More...
Go to the source code of this file.
This file is used get the courses information from the moodle.
grep -rnw moodle_dl -e post_REST : command to get all places in code where pose_REST has been called
Definition in file login.py.
◆ get_assignments_info()
def main.login.get_assignments_info |
( |
|
request_helper, |
|
|
|
course_id, |
|
|
|
all = True |
|
) |
| |
This definition is used to get the assignment information for the courses.
Returns information of all assignments , if the second aruguement is false it returns info of only the latest assignment
input : object of class RequestHelper
output : list of all assignments with following attributes {'id','name','course','duedate','intro','introattachments'}
Definition at line 65 of file login.py.
65 def get_assignments_info(request_helper,course_id,all = True):
67 Returns information of all assignments , if the second aruguement is false it returns info of only the latest assignment
68 input : object of class RequestHelper
69 output : list of all assignments with following attributes {'id','name','course','duedate','intro','introattachments'}
72 courseids = {
"0":course_id}
73 extra_data.update({
'courseids': courseids})
74 result = request_helper.post_REST(
'mod_assign_get_assignments', extra_data)
75 assignments = result[
'courses'][0][
'assignments']
78 for assign
in assignments:
79 data = dict((k, assign[k])
for k
in assign
if k
in [
'id',
'name',
'course',
'duedate',
'timemodified',
'intro',
'introattachments'])
80 soup = BeautifulSoup(data[
'intro'],
'lxml')
83 data[
'intro'] = string_from_html(data[
'intro'])
85 if data[
'introattachments']:
86 data[
'introattachments'] = prune_dict(data[
'introattachments'],[
'filename',
'fileurl'])
◆ get_course_contents()
def main.login.get_course_contents |
( |
|
request_helper, |
|
|
|
course_id |
|
) |
| |
This definition is used to get the content added in the course in weekly.
returns contents of course week wise as uploaded
input : object of class RequestHelper
output: course contents for all weeks
Definition at line 129 of file login.py.
129 def get_course_contents(request_helper,course_id):
131 returns contents of course week wise as uploaded
132 input : object of class RequestHelper
133 output: course contents for all weeks
135 data = {
'courseid': course_id}
136 result = request_helper.post_REST(
'core_course_get_contents', data)
139 data = dict((k, week[k])
for k
in week
if k
in [
'id',
'name',
'modules'])
142 for mod
in data[
'modules']:
143 fl = dict((j, mod[j])
for j
in mod
if j
in [
'url',
'name',
'contents'])
144 if 'contents' in fl.keys():
145 fl[
'contents'] = prune_dict(fl[
'contents'],[
'filename',
'fileurl'])
147 data[
'modules'] = files
◆ get_discussion_forum_discussions()
def main.login.get_discussion_forum_discussions |
( |
|
request_helper, |
|
|
|
forum_id |
|
) |
| |
This definition is used to get latest 5 discussions in the discussion forum.
input : object of class RequestHelper, forum_id
output: returns most recent 5 discussions of the discussion forum
Definition at line 174 of file login.py.
174 def get_discussion_forum_discussions(request_helper,forum_id):
176 input : object of class RequestHelper, forum_id
177 output: returns most recent 5 discussions of the discussion forum
182 result = request_helper.post_REST(
'mod_forum_get_forum_discussions', data)
183 discussions = result[
'discussions']
184 if(len(discussions) > 5):
185 discussions = discussions[0:5]
186 discussions = prune_dict(discussions,[
'name',
'created',
'message'])
187 for i
in discussions:
188 i[
'message'] = string_from_html(i[
'message'])
◆ get_discussion_forum_id()
def main.login.get_discussion_forum_id |
( |
|
request_helper, |
|
|
|
course_id |
|
) |
| |
This definition is used to get the Announcements forum.
input : object of class RequestHelper and course id
output: dictionary containing id and name of the Announcements forum
Definition at line 155 of file login.py.
155 def get_discussion_forum_id(request_helper,course_id):
157 input : object of class RequestHelper and course id
158 output: dictionary containing id and name of the Announcements forum
161 courseids = {
"0":course_id}
162 extra_data.update({
'courseids': courseids})
163 result = request_helper.post_REST(
'mod_forum_get_forums_by_courses', extra_data)
166 if(forum[
'name']
in [
'Announcements']):
167 forums = dict((k, forum[k])
for k
in forum
if k
in [
'id',
'name'])
◆ get_discussion_forum_posts()
def main.login.get_discussion_forum_posts |
( |
| ) |
|
input : object of class RequestHelper
Definition at line 192 of file login.py.
192 def get_discussion_forum_posts():
194 input : object of class RequestHelper
197 'discussionid': 16545,
198 'sortby':
'modified',
199 'sortdirection':
'ASC',
201 posts_result = request_helper.post_REST(
'mod_forum_get_forum_discussion_posts', data)
210 course_ids,course_names = get_list_of_courses(request_helper)
211 print(course_ids,course_names)
216 course_id = 219 #eg for 699
217 assignments = get_assignments_info(request_helper,course_id,False)
223 course_id = 230 #eg for 771 course
224 quizzes = get_quizzes_info(request_helper,course_id,True)
230 course_id = 230 #eg for 771 course
231 quizzes = get_quizzes_info(request_helper,course_id,True)
237 ann_forum = get_discussion_forum_id(request_helper,230)
243 cc = get_course_contents(request_helper,230)
249 discs = get_discussion_forum_discussions(request_helper,229)
252 print(type(discs),discs)
◆ get_list_of_courses()
def main.login.get_list_of_courses |
( |
|
request_helper | ) |
|
This definition is used to get list of courses the user registered.
input : object of class RequestHelper
output : two dictionaries: 1. course_ids with key value pairs as 'SubjectCode' : 'Id used by moodle for it'
2. course_names with key value pairs as 'SubjectCode' : 'Name of the Subject'
Definition at line 42 of file login.py.
42 def get_list_of_courses(request_helper):
44 input : object of class RequestHelper
45 output : two dictionaries: 1. course_ids with key value pairs as 'SubjectCode' : 'Id used by moodle for it'
46 2. course_names with key value pairs as 'SubjectCode' : 'Name of the Subject'
48 result = request_helper.post_REST(
'core_webservice_get_site_info')
49 if 'userid' not in result:
50 raise RuntimeError(
'Error could not receive your user ID!')
51 userid = result.get(
'userid',
'')
52 data = {
'userid': userid}
53 result = request_helper.post_REST(
'core_enrol_get_users_courses', data)
57 course_ids[index[
'shortname'][3:6]] = index[
'id']
58 course_names[index[
'shortname'][3:6]] = index[
'fullname']
59 return course_ids,course_names
◆ get_quizzes_info()
def main.login.get_quizzes_info |
( |
|
request_helper, |
|
|
|
course_id, |
|
|
|
all = True |
|
) |
| |
This definition is used to get the information about quizzes for the courses.
returns information about all quizes if all is true else about the latest quiz
input : object of class RequestHelper, couse_id, all flag
output : list of all quizzes with following attributes {''id','name','timeopen','timeclose','intro','grade'}
Definition at line 100 of file login.py.
100 def get_quizzes_info(request_helper,course_id,all = True):
102 returns information about all quizes if all is true else about the latest quiz
103 input : object of class RequestHelper, couse_id, all flag
104 output : list of all quizzes with following attributes {''id','name','timeopen','timeclose','intro','grade'}
107 courseids = {
"0":course_id}
108 extra_data.update({
'courseids': courseids})
109 result = request_helper.post_REST(
'mod_quiz_get_quizzes_by_courses', extra_data)
110 quizzes = result[
'quizzes']
115 data = dict((k, quiz[k])
for k
in quiz
if k
in [
'id',
'name',
'timeopen',
'timeclose',
'intro',
'grade'])
118 data[
'intro'] = string_from_html(data[
'intro'])