def parse_assignment_settings(self, settings): course_id = settings['COURSE_ID'] # assignment_number = settings['ASSIGNMENT_NUMBER'] uniqueString = settings['ASSIGNMENT_TITLE'].strip().upper() c = Course.objects.get(id=course_id) if not c: raise Exception('Course with id %s does not exist.' % (course_id)) try: a = Assignment.objects.get(Course=c, UniqueString=uniqueString) messages.info(self.request, 'Assigment already exists. Updating.') except: messages.info(self.request, 'Assigment does not exists. Creating.') a = Assignment(Course=c, Title=settings['ASSIGNMENT_TITLE']) a.Title = settings['ASSIGNMENT_TITLE'] activation_date = settings['ACTIVATION_DATE'] hard_date = settings['HARD_DATE'] if ('DUE_DATE' in settings.keys()): due_date = settings['DUE_DATE'] else: due_date = False if ('PENALTY_PERCENT' in settings.keys()): penalty_percent = settings['PENALTY_PERCENT'] else: penalty_percent = 0 if not penalty_percent: penalty_percent = 0 if activation_date: a.Activation_date = activation_date if hard_date: a.Hard_date = hard_date a.Due_date = hard_date a.Penalty_percent = penalty_percent if due_date: a.Due_date = due_date a.Penalty_percent = penalty_percent a.save() return a