def example_simulation_one(self):
        engineering_classroom = ClassRoom("Principles", 34.069140, -118.442689)
        geology_classroom = ClassRoom("Sedimentary Petrology", 34.069585,
                                      -118.441878)
        psychology_classroom = ClassRoom("Introductory Psychobiology",
                                         34.069742, 118.441312)
        music_classroom = ClassRoom("Art of Listening", 34.070223, -118.440193)
        humanities_classroom = ClassRoom("Art Hitory", 34.071528, -118.441211)

        class_rooms = []
        class_rooms.append(humanities_classroom)
        class_rooms.append(geology_classroom)
        class_rooms.append(engineering_classroom)
        class_rooms.append(music_classroom)
        class_rooms.append(psychology_classroom)

        john_student = Student("John Wilson", 34.069149, -118.442639)
        jane_student = Student("Jane Graham", 34.069601, -118.441862)
        pam_student = Student("Pame Bam", 34.071513, -118.441181)
        pom_student = Student("Bam Bam", 34.071501, -118.441170)

        students = []
        students.append(john_student)
        students.append(jane_student)
        students.append(pam_student)
        students.append(pom_student)

        self.print_clouster_students(
            self.student_clusters_in_classes(students, class_rooms))
Example #2
0
    def test_add_students(self):
        # Add single student
        self.course1.add_students(Student('test1', 1))
        self.assertEqual(len(self.course1.students), 1)

        # Add multiple students
        self.course1.add_students([Student('test2', 2), Student('test3', 3)])
        self.assertEqual(len(self.course1.students), 3)
Example #3
0
 def setUp(self):
     student = Student('test', 1)
     course = Course(1, 'test_course')
     datetime_format = '%Y-%m-%dT%H:%M:%SZ'
     assignment = Assignment(1, 'hw1', '2018-01-02T23:59:00Z', course,
                             datetime_format)
     self.grade = Grade(student, course, assignment, 0.85)
Example #4
0
def create_students(choice_list=None, choices={}):
    students = []

    choice_list.readline()

    num_student = 0
    for line in choice_list:
        cells = line.split(",")

        email = cells[1].strip("\"")
        last_name = cells[2].strip("\"")
        first_name = cells[3].strip("\"")

        students.append(
            Student(email=email, first_name=first_name, last_name=last_name))

        # Add and create new choices
        student_choices = cells[4:]
        for i in range(len(student_choices)):
            choice = student_choices[i]

            # Strip newlines and quotes
            choice = choice[0:len(choice) - 1] if choice[len(choice) -
                                                         1] == '\n' else choice
            choice = choice[1:len(choice) - 1]

            students[num_student].add_choice(choice=choice, rank=i)

            if not choice in choices:
                choices[choice] = 0

        num_student += 1

    return students
def import_student(file):
    student_data = pd.read_excel(file, engine="openpyxl")  # read excel
    student_data.fillna("", inplace=True)
    student_data = student_data.to_dict()

    number_of_students = len(list(student_data.values())[0])

    key_list = []
    for key in student_data:
        key_list.append(key)

    students = []
    for j in range(number_of_students):
        s = Student(
            username=student_data[key_list[0]][j],
            password="******",
            full_name=student_data[key_list[1]][j],
            gender=student_data[key_list[2]][j],
            enrollment_type=student_data[key_list[3]][j],
            year_of_enrollment=student_data[key_list[4]][j],
            sc_status=student_data[key_list[5]][j],
            pr_status=student_data[key_list[6]][j],
            nationality=student_data[key_list[7]][j],
            phone_number=student_data[key_list[8]][j],
            email_sutd=student_data[key_list[9]][j],
            email_personal=student_data[key_list[10]][j],
            local_addr_post_code=student_data[key_list[11]][j],
            local_addr_street=student_data[key_list[12]][j],
            local_addr_unit=student_data[key_list[13]][j],
        )
        students.append(s)
    return students
Example #6
0
    def create_or_edit_student(self, id):
        if id:
            student = Student.get_by_id(long(id))
            if not student:
                self.redirect("/aluno/" + id)
                return
        else:
            student = Student()

        try:
            r = self.request

            first_contact = datetime.datetime.strptime(r.get("first_contact"),
                                                       "%d/%m/%Y").date()

            student.populate(
                name=r.get("name"),
                surname=r.get("surname"),
                first_contact=first_contact,
                telephone=r.get("telephone"),
                email=r.get("email"),
            )

            student.put()

            m = messages.STUDENT_UPDATE_SUCCESS if id else messages.STUDENT_CREATE_SUCCESS
            self.redirect("/aluno/" + str(student.key.id()) + "?" +
                          urllib.urlencode({"m": m}))
        except ValueError as ex:
            logging.warning("ValueError: " + ex.message)
            m = messages.STUDENT_UPDATE_ERROR if id else messages.STUDENT_CREATE_ERROR
            self.redirect("/aluno/?" + urllib.urlencode({"m": m}))
Example #7
0
def _load_fake_data(session: Session):
    lessons_names = ['Математика', 'Программирование', 'Философствуем за кружечкой пенного',
                     'Алгоритмы и структуры данных', 'Линейная алгебра', 'Мат. статистика',
                     'Физкультура']
    group1 = Group(group_name='1-МДА-7')
    group2 = Group(group_name='1-МДА-9')
    session.add(group1)
    session.add(group2)

    for key, it in enumerate(lessons_names):
        lesson = Lesson(lesson_title=it)
        lesson.groups.append(group1)
        if key % 2 == 0:
            lesson.groups.append(group2)
        session.add(lesson)

    faker = Faker('ru_RU')
    group_list = [group1, group2]
    session.commit()

    for _ in range(50):
        full_name = faker.name().split(' ')
        age = faker.random.randint(16, 25)
        address = faker.address()
        group = faker.random.choice(group_list)
        student = Student(full_name, age, address, group.id)
        session.add(student)

    session.commit()
    session.close()
 def find_by_username(self, username):
     self.__db.cur.execute(SIGN_IN, username)
     student = self.__db.cur.fetchone()
     if student != None:
         id, username, name, birthday, password = student
         return Student(id=id, username=username, name=name, birthday=birthday, password=password)
     else:
         return None
Example #9
0
def new_user():
    encripted_passwd = bytes(req.form['password'], encoding='utf-8')
    s = Student(username=req.form['username'],
                name=req.form['name'],
                birthday=req.form['birthday'],
                password=bcrypt.hashpw(encripted_passwd, bcrypt.gensalt()))
    StudentDao(db).sign_up(s)
    return redirect(url_for('login'))
Example #10
0
 def setUp(self):
     self.student = Student('test1', 123)
     self.course1 = Course(1, 'test_course1')
     self.course2 = Course(2, 'test_course2')
     self.course3 = Course(3, 'test_course3')
     self.course4 = Course(4, 'test_course4')
     self.enrollment1 = Enrollment(self.student, self.course1)
     self.enrollment2 = Enrollment(self.student, self.course2)
     self.enrollment3 = Enrollment(self.student, self.course3)
Example #11
0
def createStudent():
    jsonData = request.json
    try:
        student = Student(jsonData['name'], jsonData['gender'])
        db.session.add(student)
        db.session.commit()
        return 'created'
    except:
        return 'Error Has Occurd Check your json'
Example #12
0
 def test_student_can_be_edited(self):
     """Test API can edit an existing student. (PUT request)"""
     res = self.studentService.create_user(self.student)
     self.assertEqual('stratege', res['username'])
     student = Student(self.student['username'], self.student['password'],
                       self.student['fullname'], self.student['register'])
     student.username = "******"
     rv = self.studentService.update_user_by_id(res['id'], student)
     self.assertIn('otis', rv['username'])
Example #13
0
def read_file():
    try:
        f = open("students.txt", "r")
        for student_name in f.readlines():
            students.append(Student(student_name))

        f.close()
    except:
        print("Could not read file")
    def create_student_from_dict(self, student_dict):
        student = Student(student_dict['_id'], student_dict['first_name'],
                          student_dict['last_name'],
                          student_dict['creation_time'],
                          student_dict['update_time'],
                          student_dict['existing_skills'],
                          student_dict['desired_skills'],
                          student_dict['interested_in_courses'])

        return student
    def post(self):
        '''POST /students/ -> add a new student
        '''
        data = StudentResource.parser.parse_args()
        student_name = data.get('name')
        student_age = data.get('age')

        student = Student(student_name, student_age)
        student.save()

        return student.json(), 201
Example #16
0
 def rowToStudent(row):
     student_id = row[0]
     major = row[1]
     minor = row[2]
     name = row[3]
     phone = row[4]
     street = row[5]
     city = row[6]
     state = row[7]
     zip_code = row[8]
     return Student(student_id, major, minor, name, phone, street, city,
                    state, zip_code)
Example #17
0
def students_page():
    if request.method == "POST":
        new_student_id = request.form.get("student-id", "")
        new_student_name = request.form.get("name", "")
        new_student_last_name = request.form.get("last-name", "")

        new_student = Student(new_student_name, new_student_id)
        students.append(new_student)
        save_file(new_student_name)
        return redirect(url_for("students_page"))
    read_file()
    return render_template("index.html", students=students)
Example #18
0
    def post(self):
        data = StudentsResource.parser.parse_args()

        student = Student(_id=None,
                          name=data['name'],
                          school_id=data['school_id'])
        student.save()

        return {
            'code': 201,
            'message': 'Student data created successfully'
        }, 201
Example #19
0
def seed_students(db):
    _students = list(students)
    print(_students)
    for stud in _students:
        student = stud.copy()
        user = UserModel.query.filter_by(
            username=student.get('username')).first()

        if user:
            student.pop('username')
            new_student = Student(**student, user_id=user.id)
            db.session.add(new_student)
            db.session.commit()
    def add_student(self, fields: str):
        ref_id = generate_uuid()

        student = Student(ref_id=ref_id, **fields, created_at=get_current_time(), updated_at=get_current_time())
        db.session.add(student)

        try:
            db.session.commit()
        except Exception as e:
            error_orig = str(e.orig).replace("(", "").replace(")", "").split(",")[1].strip().replace("'", "").replace('"', '')
            raise IntegrityError(message=error_orig)

        return student
Example #21
0
    def get_user_helper(self, role: str, id: int):
        if role == "student":
            name = query_name(role, id, self.db)
            restriction = query_restriction(id, self.db)
            student = Student(id, name, restriction)
            return student

        elif role == "faculty":
            name = query_name(role, id, self.db)
            faculty = Faculty(id, name)
            return faculty

        else:
            return None
Example #22
0
def registerStudent():
    form = RegisterStudentForm()
    if form.is_submitted():
        student = Student(name=form.studentName.data,
                          aggregate=form.aggregate.data,
                          first_choice=form.first_choice.data,
                          second_choice=form.second_choice.data,
                          third_choice=form.third_choice.data,
                          fourth_choice=form.fourth_choice.data)
        if contains(str(form.studentName.data), Student):
            flash('Student Exists', 'error')
        else:
            student.save()
            flash('Student Registered!', 'success')
    return render_template('studentpage.html', form=form, schools=getSchools())
Example #23
0
def _register(user_type, *args, **kwargs):
    # *args **kwargs 可变长传参
    #  工厂模式
    if user_type == "stu":
        # 学生用户
        user = Student(*args, **kwargs, auth="stu")
    elif user_type == "tea":
        # 老师
        user = Teacher(*args, **kwargs, auth="tea")
    elif user_type == "admin":
        # 管理员
        user = Admin(*args, **kwargs, auth="admin")
    else:
        raise TypeError("类型错误!")
    #  使用多态特性
    user.insert_one()
Example #24
0
def save_student_masterdata():
    body = request.get_json()
    if body['student'] is None or body['student']['student_id'] is None:
        res = CustomResponse(Status.ERR_GLOBAL_MISSING_PARAMETERS.value, None)
        return res.getres(
        ), Status.ERR_GLOBAL_MISSING_PARAMETERS.value['http']['status']
    student_fromdb = Student.objects(student_id=body['student']['student_id'])
    if student_fromdb is not None and len(student_fromdb) > 0:
        res = CustomResponse(Status.USER_ALREADY_EXISTS.value, None)
        return res.getres(), Status.USER_ALREADY_EXISTS.value['http']['status']
    else:
        student = Student(student_id=body['student']['student_id'],
                          student_name=body['student']['student_name'])
        student.save()
    res = CustomResponse(Status.SUCCESS.value, None)
    return res.getres()
Example #25
0
def get_student() -> Dict[str, Any]:
    """get student

    Returns:
        Dict[str, Any]: attributes and value of a student
    """
    student = {
        'id': 1001,
        'name': 'Ahmed',
        'age': 12,
        'nationality': 'Emirati',
    }

    Student(**student)

    return student
Example #26
0
def login():
    user_list = _login()
    if user_list:
        user_list = user_list[1:-1]
        auth = user_list[9]
        user = None
        if auth == "stu":
            print("身份:学生")
            user = Student(*user_list)
        elif auth == "tea":
            print("身份:老师")
            user = Teacher(*user_list)
        elif auth == "admin":
            print("身份:管理员")
            user = Admin(*user_list)
        return user
Example #27
0
 def get(self):
     token = self.get_argument("token")
     session = session_manager.get_session(token)
     student = self.db_session.query(Student).get(SESSION_DICT[token]["username"])
     if student:
         self.write(student.to_dict())
     else:
         student_info = get_student_info(session)
         student = Student(**student_info)
         try:
             self.db_session.add(student)
             self.db_session.commit()
         except:
             self.db_session.rollback()
         finally:
             self.write(student.to_dict())
Example #28
0
    def start(self):
        exit_program = False

        while not exit_program:
            os.system('clear')

            option = EmployeeView.display_menu(self.employee.name)

            if option == "1":
                self.show_students()

            elif option == "2":
                user = self.show_users_to_promote()

                if user is not None:
                    is_student_exist = self.is_student_already_exist(user)

                    if is_student_exist:
                        EmployeeView.display_user_already_exist()

                    else:
                        self.user_container.users.append(
                            Student(user.login, user.password,
                                    user.phone_number, user.email, user.name))
                        self.user_container.remove_user(user)

            elif option == "3":
                email_message = EmployeeView.send_mail_about_coffe_fundarising(
                )

                if email_message is not None:
                    students_emails = self.get_students_emails()

                    for email in students_emails:
                        EmailService.send_email(email_message, email)
                        EmployeeView.display_is_email_sent(email)

                else:
                    EmployeeView.display_emails_input_error()

            elif option == "0":
                exit_program = True

            else:
                EmployeeView.display_input_error()
        self.user_container.get_instance().save_users_to_file()
Example #29
0
def add_student_route():
    content = request.json
    try:
        validator.validate_new_student(content)
    except Exception as error:
        response = app.response_class(response=json.dumps(
            {"Error": str(error)}),
                                      status=400,
                                      mimetype="application/json")
        return response
    new_student = Student(content)
    student_id = db.add_student(new_student)
    response = app.response_class(response=json.dumps(
        {"student_id": student_id}),
                                  status=200,
                                  mimetype="application/json")
    return response
Example #30
0
    def setUp(self):
        student = Student('test', 1)
        course = Course(1, 'test_course')
        datetime_format = '%Y-%m-%dT%H:%M:%SZ'
        assignment1 = Assignment(1, 'hw1', '2018-01-02T23:59:00Z', course,
                                 datetime_format)
        assignment2 = Assignment(2, 'hw2', '2018-01-02T23:59:00Z', course,
                                 datetime_format)
        assignment3 = Assignment(3, 'hw3', '2018-01-02T23:59:00Z', course,
                                 datetime_format)
        assignment4 = Assignment(4, 'hw4', '2018-01-02T23:59:00Z', course,
                                 datetime_format)
        self.grade1 = Grade(student, course, assignment1, 0.85)
        self.grade2 = Grade(student, course, assignment2, 0.75)
        self.grade3 = Grade(student, course, assignment3, 0.65)
        self.grade4 = Grade(student, course, assignment4, 0.55)

        self.enrollment = Enrollment(student, course, [self.grade1], 0.75)