def setUp(self): '''Set up the test and category infrastructure.''' #Course Instantiation self.course = Course(name="testing course", slug="testing-course") self.course.save() self.course2 = Course(name="testing course2", slug="testing-course2") self.course2.save() #Course Section Instantiation self.coursesection = CourseSection(name="Section 1", course=self.course) self.coursesection.save() self.coursesection2 = CourseSection(name="Section 2", course=self.course2) self.coursesection2.save() #Category Instantiation self.category = Category( name="Category 1 for testing course", slug="cat-1-testing-course", section=self.coursesection, ) self.category.save() self.category2 = Category( name="Category 1 for testing course", slug="cat-1-testing-course2", section=self.coursesection2, ) self.category2.save() #SubCategory Instantiation self.subcategory = SubCategory( name="SubCategory 1 for testing course", slug="subcategory-1-testing-course", category=self.category, ) self.subcategory.save() self.subcategory2 = SubCategory( name="SubCategory 2 for testing course", slug="subcategory-2-testing-course", category=self.category2, ) self.subcategory2.save() #User creation self.user = MyUser.objects.create_test_user( username="******", email="*****@*****.**", password="******", )
def seed_course_table(): course = Course(name="Testing 101", number=3342, credit_hours=3, department=(Department.get(Department.id == 1))) course.save() course = Course(name="Database Management Systems", number=4523, credit_hours=3, department=(Department.get(Department.id == 2))) course.save()
def setUp(self): self.student_a = Student( first_name="Tiffany", last_name="Jeruto", date_of_birth=datetime.date(2000, 6, 24), registration_number="254016", Email="*****@*****.**", phone_number="0789647745", place_of_residence="Rongai", guardian_phone="0789567484", id_number=345378625, date_joined=datetime.date.today(), ) self.student_b = Student( first_name="Clay", last_name="Jensen", date_of_birth=datetime.date(1999, 7, 25), registration_number="254017", Email="*****@*****.**", phone_number="0789765945", place_of_residence="Roysambu", guardian_phone="0780007684", id_number=3453734789, date_joined=datetime.date.today(), ) self.python = Course(name="Python", duration_in_months=10, Course_number="1001", description="Django and Flask frameworks") self.javascript = Course( name="Javascript", duration_in_months=10, Course_number="1002", description="Vanilla javascript and frameworks") self.hardware = Course(name="Hardware", duration_in_months=10, Course_number="1003", description=" Product design using Fusion 360") self.teacher = Teacher(first_name="James", last_name="Mwai", place_of_residence="Kilimani", phone_number="0723456786", Email="*****@*****.**", id_number=3128956743, profession="Google Expert", registration_number="2344", date_joined=datetime.date.today())
def test_subcategory_creation(self): '''Tests creating a subcategory.''' course = Course(name="testing course", slug="testing-course") course.save() coursesection = CourseSection(name="Section 1", course=course) coursesection.save() category = Category( name="Category 1 for testing course", slug="cat-1-testing-course", section=coursesection, ) category.save() subcategory = SubCategory( name="SubCategory 1 for testing course", slug="subcategory-1-testing-course", category=category, ) subcategory.save() assert len(course.get_all_categories()) == 1 assert len(course.get_all_subcategories()) == 1 #Test get_absolute_url resp = self.client.get(subcategory.get_absolute_url()) self.assertEqual(resp.status_code, 302)
def upload_course(request): if request.method != "POST": return JsonResponse({'error_code': 1, 'msg': "not POST method, it's "+request.method}) data = json.loads(request.body) team = Team.objects.filter(pk=data.get("tid")).first() # print(data.get("tid")) if team is None: return JsonResponse({'error_code': 2, 'msg': "team not exist", "id": Team.objects.all().last().id, "tid":data.get("tid")}) name = data.get('name') teacher = data.get('teacher') description = data.get('description') link = data.get('link') # TODO: change time startTime = data.get('startTime') endTime = data.get('endTime') startTime = datetime.datetime.strptime(startTime, "%Y-%m-%d %H:%M:%S") endTime = datetime.datetime.strptime(endTime, "%Y-%m-%d %H:%M:%S") # courseTime = CourseTime(addTime=addTime, endTime=endTime) # courseTime.save() image = data.get('image') print("this is image:\n"+image) course = Course(tid=team, name=name, teacher=teacher, description=description, link=link, picture=image) course.save() courseTime = CourseTime(startTime=startTime, endTime=endTime, cid=course) courseTime.save() return JsonResponse({'error_code': 0})
def setUp(self): '''Set up the user infrastructure.''' #User creation self.user = MyUser.objects.create_test_user( username="******", email="*****@*****.**", password="******", ) #User2 creation self.user2 = MyUser.objects.create_test_user( username="******", email="*****@*****.**", password="******", ) #User3 creation self.user3 = MyUser.objects.create_test_user( username="******", email="*****@*****.**", password="******", ) #Course Instantiation self.course = Course(name="testing course", slug="testing-course") self.course.save()
def createCourseObject(filePath, tableIndex): # 创建文档对象 doc = Document(filePath) # 获取课程所在表格 try: courseTable = doc.tables[tableIndex] #文档中第index个表格 except Exception as e: print(e) try: # 创建课程对象 from course.models import Course course = Course() except Exception as e: print(e) course.name = coursenameMange(courseTable.cell(2, 1).text) #课程名称 course.courseNumber = courseTable.cell(0, 1).text #课程编号 course.totalHours = courseTable.cell(1, 1).text #总学时 course.courseCategory = getCourseCategory(courseTable.cell(3, 1).text) #课程类别 course.writer = courseTable.cell(4, 1).text #执笔人 course.prerequisiteCourses = coursenameMange(courseTable.cell( 5, 1).text) #先修课程 course.credit = courseTable.cell(0, 3).text #学分 course.experimentalHours = courseTable.cell(1, 3).text #实验/上机学时 course.englishName = courseTable.cell(2, 3).text #英文名称 course.appliedSpecialty = courseTable.cell(3, 3).text #适用专业 course.auditor = courseTable.cell(4, 3).text #审核人 return course
def handle(self, *args, **options): course_id = 1 BASE_DIR = os.path.dirname( os.path.dirname( os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) workbook = openpyxl.load_workbook(BASE_DIR + '/course_data.xlsx') sheet = workbook.get_sheet_by_name("Sheet1") for row in sheet: if row[0].row == 1: continue course_time_spaces = self.__get_course_times(row[8].value) course = Course(course_id=course_id, course_no=row[0].value, semester=row[1].value, university=row[2].value, campus=row[3].value, classification=row[4].value, course_name=row[5].value, professor=row[6].value, credit=row[7].value) course.save() course_id += 1 for course_time_space in course_time_spaces: course_time_space.course = course course_time_space.save()
def test_parse_course_object(self): test_data = { "id": "fc:fs:fs:emne:ntnu.no:EXPH0004:1", "type": "fc:fs:emne", "parent": "fc:org:ntnu.no", "membership": { "basic": "member", "fsroles": ["STUDENT"], "active": True, "notAfter": "2017-12-14T23:00:00Z", "subjectRelations": "undervisning", "displayName": "Student" }, "displayName": "Examen philosophicum for naturvitenskap og teknologi" } course = Course( course_code="EXPH0004", course_name="Examen philosophicum for naturvitenskap og teknologi", credit=7.5, average_grade=0, pass_rate=100.0) course.save() course_info = parse_course_object(test_data) self.assertEqual(course_info["course_code"], "EXPH0004") self.assertEqual( course_info["course_name"], "Examen philosophicum for naturvitenskap og teknologi") self.assertEqual(course_info["semester"], "H2017")
def save(self, **kw): u = Course(name=kw['name'], purpose=kw['purpose'], techerId=kw['techerId'], techerNumber=kw['techerNumber'], techerName=kw['techerName']) u.save()
def get_course_or_create(self): try: self.course = Course.objects.get(name_slug=self.dir) except: self.course = Course() self.course.name_slug = self.dir self.course.save()
def create_course_view(request): context = {} if request.method == 'POST': course_form = CourseCreateForm(request.POST, request.FILES, instance=request.user) course = Course() if course_form.is_valid(): data = course_form.cleaned_data course.name = data['name'] course.target_language = data['target_language'] course.source_language = data['source_language'] course.description = data['description'] course.author = request.user if (data['image']): course.image = data['image'] try: course.save() return redirect('course:detail', course.slug) except IntegrityError: print("error") context[ 'course_error'] = "You have already created a course with this name. Choose a different one." else: course_form = CourseCreateForm(instance=request.user) context['course_form'] = course_form return render(request, 'course/create_course.html', context)
def setUpTestData(cls): course = Course(title='TDDD12', body='Big boody') course.save() Comment.objects.create(author='TDDX21', body='Ave maria its ti me to shower', course=course)
def setUp(self): self.student_a=Student(first_name=Joy, last_name=Wahome, date_of_birth=datetime.date(1998,8,25), registration_number=123, place_of_residence=Nairobi, phone_number=123456789, [email protected], guardian_phone=12345, id_number=1111111, date_joined=datetime.date.today(),) self.student_b=Student(first_name=Ivy, last_name=Wahome, date_of_birth=datetime.date(1996,5,24), registration_number=1234, place_of_residence=Nairobi, phone_number=123456789, [email protected], guardian_phone=123456, id_number=2222222, date_joined=datetime.date.today(),) self.python=Course(name=python, duration_in_months=10, course_number=1, description=Learn to code in Python,) self.javascript=Course(name=javascript, duration_in_months=10, course_number=2, description=Learn to code in JS,) self.hardware=Course(name=hardware, duration_in_months=10, course_number=3, description=Learn to build hardware,) self.teacher=Teacher(first_name=James, last_name=Mwai, date_of_birth=datetime.date(1998,8,25), registration_no=123, place_of_residence=Nairobi, phone_number=123456789, [email protected], id_number=1111111, profession=Consultant,)
def test_category_uniqueness(self): '''Testing the uniqueness of a Category.''' course = Course(name="testing course", slug="testing-course") course.save() coursesection = CourseSection(name="Section 1", course=course) coursesection.save() category = Category( name="Category 1 for testing course", slug="cat-1-testing-course", section=coursesection, ) category.save() category2 = Category( name="Category 2 for testing course", slug="cat-2-testing-course", section=coursesection, ) category2.save() course2 = Course(name="testing course2", slug="testing-course2") course2.save() assert len(coursesection.category_set.all()) == 2 coursesection2 = CourseSection(name="Section 2", course=course2) coursesection2.save() category3 = Category( name="Category 2 for testing course", slug="cat-3-testing-course2", section=coursesection2, ) category3.save() #Same category name, different coursesection #Attempt to save to the same category category3.section = coursesection try: category3.save() #If save was successful, category and category3 violate uniqueness raise RuntimeError("category3 has the same credentials as course") except: pass
def pasth(request): context = RequestContext(request) if request.user.is_authenticated(): data = request.POST.get('test') results = list() pq = PyQuery(data) coursesFound = 0 tempSchedule = Schedule() for c in pq('tr'): results.append(pq(c).text()) #find out if this is class data query = "COURSE SECT GRADE CREDIT CREDIT EARNED CREDIT FOR GPA COURSE TITLE" if pq(c).text( ) == query: #go through the page to find when courses first appear coursesFound = 1 #print "found courses" #debug log else: #if it is not a header then do this if coursesFound == 1: #if it is not a header AND courses have already been found, parse them coursedata = pq(c) pastClass = Course() #temp class object for d in coursedata( 'td'): # break the tr down into it's td values #print coursedata(d).text() #debugging logs length = len( coursedata(d).text() ) #get the length of the data so we know what field it is if length == 8: pastClass.name = coursedata(d).text() else: if length == 4: pastClass.section = coursedata( d).text() #0000 for transfer classes else: if length == 1 or length == 2: pastClass.finalgrade = coursedata(d).text() else: if length == 3: pastClass.cedits = coursedata(d).text( ) #note: there can be multiple credit fields (credits earned, for gpa, credits), we are grabbing the very last one else: pastClass.cname = coursedata(d).text() tempSchedule.add(pastClass) user_profile = request.user.get_profile() user_profile.pastHistory = tempSchedule #go to user profile and add tempschedule return render_to_response('pasth.html', { "results": results, }, context_instance=context) else: return render_to_response('nsi.html', context_instance=context)
def post(self, request): course_code = request.POST.get('courseCode') if not Course.objects.filter(code=course_code).exists(): return self.error(msg=f"course not exist", err=request.POST) else: try: # 赋予复制后的课程新code并返回该code,新课其余信息与原课一致 codes = [int(course.code) for course in Course().objects] new_course_code = str(max(codes)+1) course = Course(code=course_code) Course.objects.create(code=new_course_code, name=course.name, start_time=course.start_time, end_time=course.end_time, description=course.description, deleted=course.deleted, students=course.students, teachers=course.teachers) return self.success(new_course_code) except Exception as e: return self.error(msg=str(e), err=e.args)
def setUp(self) -> None: courses = [ Course(course_code="TDT4120", course_name="AlgDat", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TMA4100", course_name="Matte 1", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TMA4115", course_name="Matte 3", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="EXPH0004", course_name="Exphil", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TFE4101", course_name="KretsDigtek", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TFY4125", course_name="Fysikk", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TDT4290", course_name="KPro", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TDT4136", course_name="AI Intro", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TULL123", course_name="Ikke egentlig et f*g", credit=100, average_grade=5, pass_rate=40) ] for c in courses: c.save()
def setUp(self) -> None: courses = [ Course(course_code="TDT4120", course_name="AlgDat", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TMA4100", course_name="Matte 1", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="EXPH0004", course_name="Exphil", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TFE4101", course_name="KretsDigtek", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TFY4125", course_name="Fysikk", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TDT4290", course_name="KPro", credit=7.5, average_grade=1, pass_rate=100.0), Course(course_code="TDT4136", course_name="AI Intro", credit=7.5, average_grade=1, pass_rate=100.0), ] for c in courses: c.save() reviews = [ Review(id=1, course_code="TMA4100", user_email="*****@*****.**", score=5, workload=1, difficulty=2, review_text="Bra f*g", full_name="Test test", study_programme="MTDT"), Review(id=2, course_code="TMA4100", user_email="*****@*****.**", score=3, workload=0, difficulty=0, review_text="Givende", full_name="KPro Kproson", study_programme="MTKPRO"), Review(id=3, course_code="TMA4100", user_email="*****@*****.**", score=4, workload=1, difficulty=2, review_text="Lattice", full_name="Heman 2015", study_programme="MTDT"), Review(id=4, course_code="TDT4120", user_email="*****@*****.**", score=5, workload=2, difficulty=2, review_text="Kult", full_name="KPro Kproson", study_programme="MTKPRO"), Review(id=5, course_code="TDT4120", user_email="*****@*****.**", score=1, workload=0, difficulty=0, review_text="Kjipt", full_name="Test test", study_programme="MTDT"), Review(id=6, course_code="EXPH0004", user_email="*****@*****.**", score=3, workload=1, difficulty=0, review_text="<3", full_name="KPro Kproson", study_programme="MTDT") ] for r in reviews: r.save() UserAuth(expiring_token="valid_token", access_token="valid_token", user_email="*****@*****.**").save() User.objects.create(username="******", email="*****@*****.**").save()
def setUpTestData(cls): course = Course(title='TDDD12', body='Big boody') course.save() assignment = Assignment(title='TDDD11', description='Very big yes', deadline=datetime.today(), course=course) assignment.save()
def setUp(self): '''Set up the test and category infrastructure.''' #Course Instantiation self.course = Course(name="testing course", slug="testing-course") self.course.save() #Course Section Instantiation self.coursesection = CourseSection(name="Section 1", course=self.course) self.coursesection.save() #Category Instantiation self.category = Category( name="Category 1 for testing course", slug="cat-1-testing-course", section=self.coursesection, ) self.category.save() #SubCategory Instantiation self.subcategory = SubCategory( name="SubCategory 1 for testing course", slug="subcategory-1-testing-course", category=self.category, ) self.subcategory.save() #User creation self.user = MyUser.objects.create_test_user( username="******", email="*****@*****.**", password="******", ) self.user2 = MyUser.objects.create_test_user( username="******", email="*****@*****.**", password="******", ) #Question creation self.question = Question( course=self.course, section=self.coursesection, category=self.category, subcategory=self.subcategory, question_text="Here is an example question.", option_A="Here is option A.", option_B="Here is option B.", answer_letter="A", answer_explanation="Here is an example explanation.", index=1, ) self.question.save()
def post(self, request): '''删除课程''' course_code = request.POST.get('courseCode') if not Course.objects.filter(code=course_code).exists(): return self.error(msg=f"course not exist", err=request.POST) else: try: course = Course(code=course_code, deleted=True) course.save() except Exception as e: return self.error(msg=str(e), err=e.args)
def setUp(self) -> None: UserAuth(expiring_token="valid_token", access_token="valid_token", user_email="*****@*****.**").save() UserAuth(expiring_token="expired_token", access_token="expired_token", user_email="*****@*****.**").save() Course(course_code="TMA4100", course_name="Matematikk 1", credit=7.5, average_grade=2, pass_rate=100.0).save()
def test_post_review_invalid_JSON_formatting_and_values_course_exists(self): invalid_test_data = {"course_code": "TDT4290", "score": -2, "workload": "abx", "difficulty": 0} course = Course(course_code="TDT4290", course_name="Customer Driven Project", credit=15, average_grade=1, pass_rate=100.0) course.save() c = APIClient() c.credentials(HTTP_AUTHORIZATION='valid_token') response = c.post("/review/", data=invalid_test_data, format="json") self.assertEqual(response.status_code, 400)
def CreateCourse(request, pk, upk): teacher = TeacherProfile.objects.get(user_id=upk) subject = Subject.objects.get(id=pk) if subject.author.user.id == teacher.user.id: course = Course(author=teacher, subject=subject) serializer = CourseCreateSerializer(course, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors) return Response( {"message": "you're not authorized to access this Subject"}, status=403)
def get_course(): """ 生成一个课程 :author: lishanZheng :date: 2020/01/03 """ clazz = get_clazz() teacher = get_teacher() course_data = get_course_data() course = Course(**course_data, clazz=clazz, teacher=teacher) course.save() return course
def test_string_representation(self): cat = Category('sci', 'loh') cont = Contact() cont.contact_choice = "PHONE" cont.value = "5555" # br = Branch('e32424','2343242','iaau.edu.kg') course = Course(name="My entry title", description="it is a my live", logo="lj.kg", category=cat) self.assertEqual(str(course), course.name)
def setUpTestData(cls): course = Course(title='TDDD12', body='Big boody') course.save() assignment = Assignment(title='TDDD11', description='Very big yes', deadline=datetime.today(), course=course) assignment.save() handin = Handin.objects.create(holder='TDDX21', attached_files='ada/beda/ceda', assignment=assignment) handin.save()
def createRelationBetweenCourseAndCourse(courseObject, couseName, graph): # 从数据库中查找特点node prerequisiteCourseNode = graph.nodes.match('Course', name=couseName).first() if prerequisiteCourseNode: # 将node转换为对象 prerequisiteCourse = courseObject.wrap(prerequisiteCourseNode) else: try: from course.models import Course prerequisiteCourse = Course() except Exception as e: print(e) prerequisiteCourse.name = couseName # 构建关系 courseObject.Prerequisite.add(prerequisiteCourse)
def add_course(request): courses = Course.objects.filter(teacher=request.user) teacher = request.user newcourse = Course(teacher=teacher) if request.method == 'POST': form = CourseForm(request.POST, request.FILES, instance=newcourse) if form.is_valid(): newcourse = form.save() return HttpResponseRedirect("/teacher/") else: form = CourseForm() return render_to_response('teacher/course_add.html', { 'CourseForm': form, 'courses':courses }, context_instance=RequestContext(request))