def create(self, course, module): url = WWURL.format(self.wwclass, self.wwset) groups = canvas.get_assignment_groups(course) groupid = groups[0]['id'] if self.group is not None: for group in groups: if group['name'] == self.group: groupid = group['id'] break ass = canvas.create_assignment(course, self.name, "WeBWorK", self.points, self.deadline, groupid, submission_types="external_tool", ext_tool_url=url, ext_tool_new_tab=True) ass.raise_for_status() assid = ass.json()["id"] canvas.create_module_item(course, module, self.title, None, "Assignment", indent=self.indent, content=assid) if self.announcement is not None: date = datetime.datetime.strptime( self.deadline, "%Y-%m-%dT%H:%M:%S" ) canvas.post_announcement_from_markdown( course, "Assignment {} posted".format(self.name), self.announcement + date.strftime( "\n\n__Due %m/%d/%y at %H:%M__" ) )
def create(self, course, module): groups = canvas.get_assignment_groups(course) groupid = groups[0]['id'] if self.group is not None: for group in groups: if group['name'] == self.group: groupid = group['id'] break resp = canvas.create_assignment( course, self.name, self.markdown_description, self.points, self.due_at, groupid, submission_types=self.submission_types, allowed_extensions=self.allowed_extensions, peer_reviews=self.peer_reviews, auto_peer_reviews=self.auto_peer_reviews, ext_tool_url=self.ext_tool_url, ext_tool_new_tab=self.ext_tool_new_tab) resp.raise_for_status() assid = resp.json()['id'] canvas.create_module_item(course, module, self.title, None, "Assignment", indent=self.indent, content=assid)
def create(self, course, module): resp = canvas.upload_file_to_course(course, self.local_file, self.remote_path, self.remote_name) fileid = resp.json()['id'] canvas.create_module_item(course, module, self.title, None, "File", indent=self.indent, content=fileid)
def create(self, course, module): resp = canvas.get_assignments(course, self.name) # This is really stoopid, it just takes the first assignment that was # found, so if there is more assignments with the same name, ... if not resp: print("Creating assignment item: assignment ain't there!") else: assid = resp[0]['id'] canvas.create_module_item(course, module, self.title, None, "Assignment", indent=self.indent, content=assid)
def create(self, course, module): resp = canvas.list_files(course, self.fname) # This is really stoopid, it just takes the first file that was found, # so if there is more files with the same name, be careful. Eventually # there should be a way to specify a folder TODO if not resp: print("Creating file item: file ain't there!") else: fileid = resp[0]['id'] canvas.create_module_item(course, module, self.title, None, "File", indent=self.indent, content=fileid)
def add_text_header(classid, module, text, position=None, indent=0): """ Add a quick text header. """ resp = canvas.create_module_item(classid, module, text, position, "SubHeader", indent) resp.raise_for_status() return resp.json()
def upload_file(classid, module, fname, directory, title, position, indent=1): """ Uploads file to Canvas to class given by classid in the given directory. Adds a link to the file as an item in the given module, at the given position with the given title. """ resp = canvas.upload_file_to_course(classid, fname, directory) resp.raise_for_status() file_id = resp.json()['id'] resp = canvas.create_module_item(classid, module, title, position, "File", indent=indent, content=file_id) resp.raise_for_status() return resp.json()
def create(self, course, module): canvas.create_module_item(course, module, self.title, None, "SubHeader", indent=self.indent)
def create(self, course, module): canvas.create_module_item(course, module, self.title, None, "ExternalTool", indent=self.indent, external_url=self.url, new_tab=self.new_tab)