def make_rubric(coursera_file, canvas_id): peer_assessment = util.read_json(coursera_file) args = { 'canvas_id': canvas_id, 'title': peer_assessment['title'], 'points': peer_assessment['maxGrade'], 'criteria': make_criteria(peer_assessment['form'][1]) } return RUBRIC.format(**args)
def ensemble_id_map(): ans = {} videos = util.read_json('ensemble.json')['Data'] for video in videos: title = util.unescape(video['Title']) ensemble_id = video['ID'] ans[title] = ensemble_id util.write_json('videos.json', ans) return ans
def get_in_video_links(in_video_quiz_file, is_v2, course): quiz = util.read_json(in_video_quiz_file) links = '' if is_v2: for question in quiz['assessment']['definition']['questions'].values(): for link in find_links(question['data']['definition']['prompt'], course): links += LINK.format(link) else: for group in quiz['questionGroups']: for question in group['questions']: for link in find_links(question['text'], course): links += LINK.format(link) if links: return u'<h4>References</h4>' + links return ''
def convert(course, item): coursera_folder = course.get_coursera_folder() canvas_folder = course.get_canvas_folder() data_canvas_id = item['canvas_id'] meta_canvas_id = data_canvas_id + '_meta' data_file = '{}.xml'.format(data_canvas_id) meta_file = '{}.xml'.format(meta_canvas_id) data_path = '{}/{}'.format(canvas_folder, data_file) meta_path = '{}/{}'.format(canvas_folder, meta_file) pos = course.get_topic_pos() course.set_topic_pos(pos + 1) coursera_file = '{}/announcement/{}.json'.format(coursera_folder, item['item_id']) announcement = util.read_json(coursera_file) args = { 'topic_id': item['canvas_id'], 'title': item['title'], 'position': pos, 'content': wiki.convert_content(announcement['message'], course) } meta = META.format(**args) data = TOPIC.format(**args) util.write_file(data_path, data) util.write_file(meta_path, meta) data_args = { 'id': data_canvas_id, 'type': 'imsdt_xmlv1p1', 'path': '', 'files': resource.FILE.format(data_file) + resource.DEPENDENCY.format(meta_canvas_id) } meta_args = { 'id': meta_canvas_id, 'type': 'associatedcontent/imscc_xmlv1p1/learning-application-resource', 'path': meta_file, 'files': resource.FILE.format(meta_file) } course.add_resources(data_args) course.add_resources(meta_args)
def convert(course, item): coursera_id = item["item_id"] coursera_folder = course.get_coursera_folder() coursera_file = "{}/peer_assessment/{}.json".format(coursera_folder, coursera_id) canvas_id = item["canvas_id"] canvas_folder = course.get_canvas_folder() title = item["title"] assignment = util.read_json(coursera_file) main_file = make_main_file(course, assignment, canvas_folder, canvas_id, title) settings_file = make_settings_file(course, assignment, canvas_folder, canvas_id, title) args = { "id": canvas_id, "type": "associatedcontent/imscc_xmlv1p1/learning-application-resource", "path": main_file, "files": resource.FILE.format(main_file) + resource.FILE.format(settings_file), } course.add_resources(args)
def clean_sections(self): sections = util.read_json(self.section_file) for section in sections: for item in section['items']: item_type = item['item_type'] # unify format for wiki pages if item_type == 'coursepage': item['title'] = item['metadata']['title'] item['item_id'] = item['metadata']['canonicalName'] # set coursera_id item['coursera_id'] = '{}_{}'.format(item_type, item['item_id']) # unify format for published attribute if 'published' in item: item['published'] = item['published'] == 1 elif '__published' in item: item['published'] = item['__published'] == 1 else: item['published'] = item['metadata']['visible'] return sections
def __init__(self, course_site, course_name, course_session, part): self.site = course_site self.name = course_name self.session = course_session self.part = part self.coursera_folder = '../../{}/{}/{}'.format(self.site, self.name, self.session) self.canvas_folder = '../../canvas/{}-{}'.format(self.name, self.session) self.section_file = (self.coursera_folder + '/session_info/section.json') self.sections = self.clean_sections() self.id2id = {} self.set_canvas_id() self.ensemble_title2id = util.read_json('videos.json') self.resources = '' self.topic_pos = 1 self.quiz_pos = 1 self.peer_pos = 1 self.assignment_pos = 1 self.module_pos = 1 self.asset_pos = 1