def setUp(self): super(AddLectureApiTest, self).setUp() self.simon = Lecturer('simon', '1234', 'Simon', 'McCallum') db.session.add(self.simon) imt3601 = Course('IMT3601 - Game Programming', self.simon) db.session.add(imt3601) imt3601_l1 = Lecture('Lecture 1', imt3601) db.session.add(imt3601_l1) self.frode = Lecturer('frode', '1234', 'Frode', 'Haug') db.session.add(self.frode) self.imt1031 = Course('IMT1031 - Grunnleggende Programmering', self.frode) db.session.add(self.imt1031) self.imt1031_l1 = Lecture('Lecture 1', self.imt1031) db.session.add(self.imt1031_l1) self.imt1031_l2 = Lecture('Lecture 2', self.imt1031) db.session.add(self.imt1031_l2) self.imt1031_l3 = Lecture('Lecture 3', self.imt1031) db.session.add(self.imt1031_l3) db.session.flush()
def setup_course(self): """Creates: * A course (self.course) * An assignment (self.assignment) in that course * 5 users (self.user1, self.user2, etc.) enrolled as students """ self.course = Course(offering='cal/cs61a/sp16', institution='UC Berkeley', display_name='CS 61A') self.assignment = Assignment(name='cal/cs61a/sp16/proj1', course=self.course, display_name='Hog', due_date=datetime.datetime.now(), lock_date=datetime.datetime.now() + datetime.timedelta(days=1), max_group_size=4) db.session.add(self.assignment) def make_student(n): user = User(email='student{0}@aol.com'.format(n)) participant = Enrollment(user=user, course=self.course) db.session.add(participant) return user self.user1 = make_student(1) self.user2 = make_student(2) self.user3 = make_student(3) self.user4 = make_student(4) self.user5 = make_student(5) db.session.commit()
def parse_course_list(request): if not request.user.is_authenticated(): return HttpResponse("Not authenticated.") session = HTMLSession() course_list_r = session.request(url='https://ocw.mit.edu/courses/', method='get') courses = course_list_r.html.find('.course_title') # Clear out old courses Course.objects.all().delete() sequence_sql = connection.ops.sequence_reset_sql(no_style(), [Course]) with connection.cursor() as cursor: for sql in sequence_sql: cursor.execute(sql) for course in courses: course_db_obj = Course(url=course.absolute_links.pop()) course_db_obj.save() return HttpResponse("Successfully added all ")
def get_course(offering): """Get a course with the given name. If the user is not enrolled, flash a warning message. """ course = Course.by_name(offering) if not course: abort(404) check_enrollment(course) return course
def gen_course(): return Course( offering='{0}/{1}/{2}{3}'.format('cal', random.choice(['cs61a', 'ds88']), random.choice(['sp', 'su', 'fa']), str(random.randrange(100)).zfill(2)), institution='UC Berkeley', display_name='{0} {1}{2}'.format(random.choice(['CS', 'Data Science']), random.randrange(100), random.choice(['', 'A'])), active=gen_bool(0.6))
def setUp(self): super(AddEngagementApiTest, self).setUp() simon = Lecturer('simon', '1234', 'Simon', 'McCallum') db.session.add(simon) imt3601 = Course('IMT3601 - Game Programming', simon) db.session.add(imt3601) imt3601_l1 = Lecture('Lecture 1', imt3601) db.session.add(imt3601_l1) db.session.flush()
def mock_db(): """ Insert mock data into database """ init_db() simon = Lecturer('*****@*****.**', sha256('1234'.encode('utf-8')).hexdigest(), 'Simon', 'McCallum') simon.admin = True db.session.add(simon) magnus = Lecturer('*****@*****.**', sha256('12345'.encode('utf-8')).hexdigest(), 'Magnus', 'Vik') db.session.add(magnus) imt3601 = Course('IMT3601 - Game Programming', simon) db.session.add(imt3601) imt3601_l1 = Lecture('Lecture 1', imt3601) db.session.add(imt3601_l1) imt3601_l1_c1 = Comment('This is boring', datetime(2015, 11, 26, 10, 30), imt3601_l1) db.session.add(imt3601_l1_c1) imt3601_l1_c2 = Comment('This is fun!', datetime(2015, 11, 26, 10, 40), imt3601_l1) db.session.add(imt3601_l1_c2) imt3601_l1_c3 = Comment('Help?', datetime(2015, 11, 26, 10, 50), imt3601_l1) db.session.add(imt3601_l1_c3) imt3601_l1_c4 = Comment('A bit longer comment for your convenience', datetime(2015, 11, 26, 10, 10), imt3601_l1) db.session.add(imt3601_l1_c4) imt3601_l1_r1 = CommentRating(1, 1, imt3601_l1_c1, imt3601_l1) db.session.add(imt3601_l1_r1) imt3601_l1_r2 = CommentRating(1, 2, imt3601_l1_c1, imt3601_l1) db.session.add(imt3601_l1_r2) imt3601_l1_r3 = CommentRating(1, 3, imt3601_l1_c1, imt3601_l1) db.session.add(imt3601_l1_r3) imt3601_l1_r4 = CommentRating(-1, 1, imt3601_l1_c3, imt3601_l1) db.session.add(imt3601_l1_r4) imt3601_l1_r5 = CommentRating(1, 1, imt3601_l1_c4, imt3601_l1) db.session.add(imt3601_l1_r5) db.session.flush()
def post(self): argparser = reqparse.RequestParser() argparser.add_argument('name', required=True) argparser.add_argument('lecturerId', type=int, required=True) args = argparser.parse_args() if args.lecturerId != current_user.id: abort(403, message="lectureId must be the ID of the logged in lecturer") course = Course(args.name, current_user) db.session.add(course) db.session.flush() return { 'id': course.id }
def setup_default(): admin = User(email="*****@*****.**", is_admin=True) db.session.add(admin) admin = User(email="*****@*****.**", is_admin=True) db.session.add(admin) db.session.commit() course = Course(offering='cal/cs61a/sp16', institution='UC Berkeley', display_name='CS 61A', active=True) db.session.add(course) url = 'https://github.com/Cal-CS-61A-Staff/ok-client/releases/download/v1.5.5/ok' ok = Version(name='ok-client', current_version='v1.5.4', download_link=url) db.session.add(ok) db.session.commit()
def setUp(self): super(SetCommentRatingApiTest, self).setUp() simon = Lecturer('simon', '1234', 'Simon', 'McCallum') db.session.add(simon) imt3601 = Course('IMT3601 - Game Programming', simon) db.session.add(imt3601) imt3601_l1 = Lecture('Lecture 1', imt3601) db.session.add(imt3601_l1) imt3601_l1_c1 = Comment('This is boring', datetime.utcnow(), imt3601_l1) db.session.add(imt3601_l1_c1) db.session.flush()
def create_course(): courses, current_course = get_courses() form = forms.NewCourseForm() if form.validate_on_submit(): new_course = Course() form.populate_obj(new_course) # Add user as instructor, can be changed later enroll = Enrollment(course=new_course, user_id=current_user.id, role=INSTRUCTOR_ROLE) db.session.add(new_course) db.session.add(enroll) db.session.commit() flash(new_course.offering + " created successfully.", "success") return redirect(url_for(".course", cid=new_course.id)) return render_template('staff/course/course.new.html', form=form, courses=courses)
def create(): user = session.get('user') if not user or user['account_type'] != 'admin': return redirect('/') if request.method == 'GET': return render_template('create.html', user=user) form = request.form # indefinitely required to create courses as its used for identification if not all([x in form for x in ['name', 'semester']]): return "Missing parameters" if bool( Course.query.filter_by(name=form['name'].strip(), semester=form['semester'].strip()).first()): return "Course already exists" try: sem = form["semester"].split("-") type = sem[1].upper() int(sem[0]) if not (type == "SS" or type == "WS"): return "Semester type must either be SS or WS", 500 except: return "Invalid semester passed", 500 # specific code if not gitea_add_course(form['semester'].strip().lower(), form['name'].strip().lower()): return "Could not create user for course in Gitea. Abort." try: db.session.add( Course(name=form['name'].strip(), web_url=form['web'].strip(), semester=form['semester'].strip(), joinable='joinable' in form and form['joinable'] == 'on', ci='ci' in form and form['ci'] == 'on', gitea_user=(form['semester'].strip() + "-" + form['name'].strip()).lower())) db.session.commit() except IntegrityError: pass return redirect("/")
def setUp(self): super(GetCommentRatingApiTest, self).setUp() simon = Lecturer('simon', '1234', 'Simon', 'McCallum') db.session.add(simon) imt3601 = Course('IMT3601 - Game Programming', simon) db.session.add(imt3601) imt3601_l1 = Lecture('Lecture 1', imt3601) db.session.add(imt3601_l1) comment = Comment('This is boring', datetime.utcnow(), imt3601_l1) db.session.add(comment) db.session.flush() self.lecture = imt3601_l1 # Using the POST API is required to make server use the correct # client_id. See API doc for info about the client_id Cookie. self.client.post('/api/0/lectures/1/comments/1/rating', data=dict(rating=1))
def setUp(self): super(GetCommentsApiTest, self).setUp() simon = Lecturer('simon', '1234', 'Simon', 'McCallum') db.session.add(simon) imt3601 = Course('IMT3601 - Game Programming', simon) db.session.add(imt3601) imt3601_l1 = Lecture('Lecture 1', imt3601) db.session.add(imt3601_l1) self.submissionTime = datetime.utcnow() imt3601_l1_c1 = Comment('This is boring', self.submissionTime, imt3601_l1) imt3601_l1_c2 = Comment('This is fun!', self.submissionTime, imt3601_l1) db.session.add(imt3601_l1_c1) db.session.add(imt3601_l1_c2) db.session.flush()
def setup_course(self): """Creates: * A course (self.course) * 2 assignments (self.assignment) in that course * 5 users (self.user1, self.user2, etc.) enrolled as students * 2 staff members (self.staff1, self.staff2) as TAs * 1 lab assistant (self.lab_assistant1) as lab assistants * 1 Admin ([email protected]) """ self.admin = User(email='*****@*****.**', is_admin=True) db.session.add(self.admin) db.session.commit() self.course = Course(offering='cal/cs61a/sp16', institution='UC Berkeley', display_name='CS 61A') self.assignment = Assignment( name='cal/cs61a/sp16/proj1', creator_id=self.admin.id, course=self.course, display_name='Hog', due_date=dt.datetime.now(), lock_date=dt.datetime.now() + dt.timedelta(days=1), max_group_size=4, autograding_key='test') # AG responds with a 200 if ID = 'test' db.session.add(self.assignment) self.assignment2 = Assignment( name='cal/cs61a/sp16/proj2', creator_id=self.admin.id, course=self.course, display_name='Maps', due_date=dt.datetime.now() + dt.timedelta(days=2), lock_date=dt.datetime.now() + dt.timedelta(days=3), max_group_size=3) db.session.add(self.assignment2) def make_student(n): user = User(email='student{0}@aol.com'.format(n)) participant = Enrollment(user=user, course=self.course) db.session.add(participant) return user def make_staff(n, role=constants.STAFF_ROLE): user = User(email='staff{0}@bitdiddle.net'.format(n)) participant = Enrollment(user=user, course=self.course, role=role) db.session.add(participant) return user def make_lab_assistant(n, role=constants.LAB_ASSISTANT_ROLE): user = User(email='lab_assistant{0}@labassist.net'.format(n)) participant = Enrollment(user=user, course=self.course, role=role) db.session.add(participant) return user self.user1 = make_student(1) self.user2 = make_student(2) self.user3 = make_student(3) self.user4 = make_student(4) self.user5 = make_student(5) self.staff1 = make_staff(1) self.staff2 = make_staff(2) self.lab_assistant1 = make_lab_assistant(1) db.session.commit()
from server.models import Course from server.models import University from datetime import datetime u = University.objects.get(name="University of Victoria") c = Course(name="CSc 111", start_date=datetime(2014, 5, 1), end_date=datetime(2014, 8, 31), university=u) c.save()