예제 #1
0
    def handle(self, *args, **options):

        # process arguments
        module_code = args[0]
        wb_file = os.path.join(XLS_ROOT, args[1])

        # open workbook
        wb = xlrd.open_workbook(wb_file)

        # get first sheet
        ws = wb.sheet_by_index(0)

        # iterate over rows (ignore first)
        curr_row = 0
        while curr_row < ws.nrows - 1:
            curr_row += 1
            if ws.cell_type(curr_row, 0) == 1:
                sid = ws.cell_value(curr_row, 0)
                u = User(username=sid)
                if ws.cell_type(curr_row, 1) == 1:
                    u.last_name = ws.cell_value(curr_row, 1)
                if ws.cell_type(curr_row, 2) == 1:
                    u.first_name = ws.cell_value(curr_row, 2)
                if ws.cell_type(curr_row, 3) == 1:
                    u.email = ws.cell_value(curr_row, 3)
                u.save()
                s = Student(user=u)
                s.nickname = ws.cell_value(curr_row, 3)
                s.save()
예제 #2
0
    def setUp(self):

        self.client = Client()

        self.user = MyUser(
            username='******',
            email='*****@*****.**',
            is_active=True,
            is_staff=True,
            is_superuser=True,
        )
        self.user.set_password('test')
        self.user.save()

        self.client.login(username='******', password='******')

        teacher = MyUser.objects.create(username='******')
        students_lst = []
        groups_lst = []

        for counter in range(10):
            students_lst.append(Student(id=counter))
            groups_lst.append(Group(id=counter, teacher=teacher))
        Student.objects.bulk_create(students_lst)

        for group in groups_lst:
            group.students.set(students_lst)
        Group.objects.bulk_create(groups_lst)
예제 #3
0
def insert_new_student(name: str, address: str, birth_date: date,
                       courseDuration: int, email: str, password: str):
    flightTimeZero = timedelta(days=0,
                               seconds=0,
                               microseconds=0,
                               milliseconds=0,
                               minutes=0,
                               hours=0,
                               weeks=0)

    if ((Student.get(email=email)) != None):
        abort(400, 'Email já cadastrado')

    stud = Student(name=name,
                   address=address,
                   email=email,
                   password=password,
                   birth_date=birth_date,
                   flightTime=flightTimeZero,
                   licenseAvailable=False,
                   courseDuration=courseDuration)

    commit()

    return {"endpoint": "api/students/" + str(stud.ID)}
    def handle(self, *args, **kwargs):
        count = kwargs['count']
        for i in range(count):
            u = User(username=f'new_user00{i}', password='******')
            u.save()
            p = Profile.objects.get(user=u)
            p.user = u
            p.first_name = 'SchoolStudent'
            p.last_name = str(i)
            p.birthdate = generate_birthdate()
            p.date_joined = generate_birthdate()
            p.status = 'S'
            p.save()

            s = Student(
                profile=p,
                class_joined=random.randint(1, 5),
                current_class=random.randint(6, 10),
                class_passed=False,
            )
            s.save()
            s.current_teachers.add(get_teacher())
            s.save()

        self.stdout.write(self.style.SUCCESS('Students Created Successfully'))
예제 #5
0
def create_student():
    try:
        name = input('请输入学生姓名: ').strip()
        age = input('请输入学生年龄: ').strip()
        qq = input('请输入学生qq号码: ').strip()
        student_name_list = [obj['name'] for obj in Student.get_all_obj_list()]
        if name in student_name_list:
            raise Exception('\033[43;1m学生[%s] 已经存在,不可重复创建\033[0m' % (name))
        classes_list = Classes.get_all_obj_list()
        for k, obj in enumerate(classes_list):
            print('%s [%s][%s]校区 班级[%s]'.center(60, '-') \
                  % (k, obj['school_nid'].get_obj_by_uuid(settings.SCHOOL_DB_DIR )['name'],\
                     obj['school_nid'].get_obj_by_uuid(settings.SCHOOL_DB_DIR )['addr'], \
                     obj['name']))
        id = int(input('请选择班级: '))
        class_obj = classes_list[id]
        obj = Student(name, age, qq, class_obj['nid'])
        obj.save()
        status = True
        error = ''
        data='\033[33;1m学生 名字[%s] 年龄[%s] qq[%s] 班级[%s] 创建成功\033[0m' \
             %(obj.name,obj.age,obj.qq,obj.classes_nid.get_obj_by_uuid(settings.CLASSES_DB_DIR )['name'])
        print(data)
    except Exception as e:
        status = False
        error = str(e)
        print('error: %s' % error)
        data = ''
    return {'status': status, 'error': error, 'data': data}
예제 #6
0
    def signup(self, request, user):
        user.first_name = self.cleaned_data['first_name']
        user.last_name = self.cleaned_data['last_name']
        user.save()

        student = Student()
        student.user = user
        student.save()
예제 #7
0
def create_objects():
    result = dict()
    for i in range(1, 7):
        tmp = dict()
        for x in range(0, 3):
            obj = Student("Viorel", "FI-131", 9.5)
            tmp[x] = obj.__dict__
        result[i] = tmp
    return result
예제 #8
0
def create_student():
    try:
        print('创建学生'.center(60, '='))
        name = input("请输入姓名: ").strip()
        age = input("请输入年龄: ").strip()
        if name == '' or age == '':
            raise Exception("输入不能为空")
        if age.isdigit():
            age = int(age)
        else:
            raise Exception("年龄应该是数字")
        student_name_list = [obj.name for obj in Student.get_all_obj_list()]
        if name in student_name_list:
            raise Exception("学生[%s]已存在" % name)

        school_list = School.get_all_obj_list()
        for k, obj in enumerate(school_list):
            print(k, '[%s] [%s]校区' % (obj.name, obj.addr))
        s_sid = input("请选择学校:")
        if s_sid.isdigit():
            s_sid = int(s_sid)
            if s_sid >= len(school_list):
                raise Exception("输入的学校不存在")
        else:
            raise Exception("输入的学校不存在")

        classes_list = Classes.get_all_obj_list()
        for k, obj in enumerate(classes_list):
            print(k, obj.name,
                  '[%s]校区' % (obj.school_nid.get_obj_by_nid().addr))
        sid = input("请选择班级:")
        if sid.isdigit():
            sid = int(sid)
            if sid >= len(classes_list):
                raise Exception("输入的班级不存在")
        else:
            raise Exception("输入的班级不存在")
        if school_list[s_sid].nid.nid != classes_list[sid].school_nid.nid:
            raise Exception("[%s][%s]校区没有 [%s]班级" %
                            (school_list[s_sid].name, school_list[s_sid].addr,
                             classes_list[sid].name))

        print(
            "学费为: ", classes_list[sid].course_to_teacher_list_nid.
            get_obj_by_nid().course_nid.get_obj_by_nid().price)
        obj = Student(name, age, classes_list[sid].nid)
        obj.save()
        status = True
        error = ''
        data = '\033[33;1m学生[%s] 创建成功\033[0m' % name
    except Exception as e:
        status = False
        error = str(e)
        data = ''

    return {'status': status, 'error': error, 'data': data}
예제 #9
0
    def post(self):

        form = RegisterForm()

        if form.validate_on_submit():

            photo = upload_file(request.files['photo'])

            obj = Student(name=form.name.data,
                          cpf=form.cpf.data,
                          phone=form.phone.data,
                          email=form.email.data,
                          photo=photo)

            db.session.add(obj)
            db.session.commit()

            return {'success': True, 'id': obj.id}

        else:

            return {'success': False, "errors": form.errors}
def populate_database():
    if not (Student.select().exists()):
        flightTimeZero = timedelta(days=0,
                                   seconds=0,
                                   microseconds=0,
                                   milliseconds=0,
                                   minutes=0,
                                   hours=0,
                                   weeks=0)
        stud1 = Student(name='Fábio',
                        address='Av. Angélica, 728',
                        birth_date='1998-10-28',
                        flightTime=flightTimeZero)
        stud2 = Student(name='Gabriel',
                        address='Rua Timbiras, 879',
                        birth_date='1997-06-15',
                        flightTime=flightTimeZero)
        stud3 = Student(name='Douglas',
                        address='Alameda Santos, 134',
                        birth_date='1996-12-01',
                        flightTime=flightTimeZero)
        stud4 = Student(name='Enrique',
                        address='Rua Cactos, 867',
                        birth_date='1997-1-25',
                        flightTime=flightTimeZero)
        stud5 = Student(name='Gabriel',
                        address='Rua Incas, 1378',
                        birth_date='1996-2-28',
                        flightTime=flightTimeZero)

    if not (Instructor.select().exists()):
        instr1 = Instructor(name='Jerônimo',
                            license_number=9853294,
                            address='Rua dos camelos, 1386',
                            birth_date='1985-4-23',
                            course_name='Pilotagem de helicópteros',
                            graduation_date='2014-01-20',
                            institution='Escola XX de Julho')

        instr2 = Instructor(
            name='Luciana',
            license_number=7548125,
            address='Av. Kennedy, 12',
            birth_date='1974-2-21',
            course_name='Mecânica e pilotagem de aeronaves de pequeno porte',
            graduation_date='2002-1-31',
            institution='Escola de vôo de Cotia')

        instr3 = Instructor(
            name='Alberto',
            license_number=1324578,
            address='Estrada do jaguar, km 72',
            birth_date='1990-7-18',
            course_name='Especialização em aviões de grande porte',
            graduation_date='2016-12-14',
            institution='Centro de aviação CVT')

        instr4 = Instructor(name='Juvenal',
                            license_number=8987456,
                            address='Av. Osnir Santos, 445',
                            birth_date='1973-5-11',
                            course_name='Instruções de vôo gerais',
                            graduation_date='2008-10-28',
                            institution='Escola de pilotagem de Rio Branco')

        instr5 = Instructor(name='Acácio',
                            license_number=7894561,
                            address='Rua das nações, 404',
                            birth_date='1987-9-9',
                            course_name='Pilotagem comercial',
                            graduation_date='2017-8-16',
                            institution='Escola holandesa de aviação civil')

    commit()
예제 #11
0
def main(args):
    """ Iterate through assistants and scrap their moodle """
    if len(args) < 1:
        todos = Assistant.objects.all()
    else:
        todos = []
        for a in args[1:]:
            try:
                assistant = Assistant.objects.get(pk=int(a))
                todos.append(assistant)
            except:
                sys.stderr.write('Could not load assistant: %s' % a)

    # Execute todos
    for a in todos:
        if not a.is_updater:
            continue

        session = MoodleSession(str(a.moodle_url))
        session.set_verbosity(0)
        try:
            session.login(a.moodle_user, a.moodle_password)
        except LoginError:
            sys.stderr.write("Failed to connect.\n")
            sys.exit(1)

        if not session.answered("Overview of my courses"):
            sys.stderr.write("Unexpected page (%d bytes)\n" %
                             len(session.body()))
            sys.exit(-2)
        else:
            course_id = int(a.moodle_course_id)
            try:
                course = Course.objects.get(external_id=course_id)
            except:
                courses = session.list_courses()
                course = None
                for c in courses:
                    if c[0] == course_id:
                        course = Course(
                            external_id=course_id,
                            title=c[1],
                            name=''.join([chr[0] for chr in c[1].split(' ')]))
                        course.save()
                        break
                if course is None:
                    sys.stderr.write("Could not get course: %d " % course_id)
                    continue

            groups = session.list_groups(int(a.moodle_course_id))

            for key, g in groups.items():
                for user in g['users']:
                    try:
                        student = Student.objects.get(external_id=user[0])
                    except:
                        student = Student(external_id=user[0])

                    if student.first_name != user[1] or \
                        student.avatar != user[2] or \
                        student.group != g['name']:
                        student.first_name = user[1]
                        student.avatar = user[2]
                        student.group = g['name']
                        student.save()

                    if course.students.filter(id=student.id).count() == 0:
                        # Add student to course
                        course.students.add(student)
            # Assign the current assistant to the newly created course:
            a.courses.add(course)

            print "Updated course: ", a.moodle_course_id, " for ", a