コード例 #1
0
    def handle(self, **options):
        year = options['year']
        if year:
            year = int(year)
            year, _ = Year.objects.get_or_create(start_year=year)

        if not year:
            year = get_or_create_current_year()

        school, created = School.objects.get_or_create(
            link='shad', name='School of Data Analysis')
        if created:
            print "WARNING: NEW School created!"
            school.save()

        course, created = Course.objects.get_or_create(year=year,
                                                       name='Python')
        if created:
            print "WARNING: NEW Course created!"
            course.is_active = True
            course.contest_integrated = True
            course.save()

        school.courses.add(course)

        for student in get_users_from_cs_xml(sys.stdin):
            last_name, first_name = student['name'].split(' ', 1)
            username = student['login']
            group_name = student['grp']

            try:
                user = User.objects.get(username__iexact=username)
            except User.DoesNotExist:
                print "Creating new user! : {0}".format(
                    username.encode("utf-8"))
                user = User.objects.create(username=username)
                user.last_name = last_name
                user.first_name = first_name

            if (user.password == "") or (not user.has_usable_password()):
                user.set_password(''.join(
                    random.choice(string.letters) for i in xrange(20)))
                user.save()

            group, _ = Group.objects.get_or_create(year=year, name=group_name)
            course.groups.add(group)
            group.students.add(user)
            print "{0} {1} {2}".format(user,
                                       user.get_full_name().encode("utf-8"),
                                       group)
コード例 #2
0
ファイル: create_shad.py プロジェクト: Poreykin/anytask
    def handle(self, **options):
        year = options['year']
        if year:
            year = int(year)
            year, _ = Year.objects.get_or_create(start_year=year)

        if not year:
            year = get_or_create_current_year()

        school, created = School.objects.get_or_create(link='shad', name='School of Data Analysis')
        if created:
            print "WARNING: NEW School created!"
            school.save()  

        course, created = Course.objects.get_or_create(year=year, name='Python')
        if created:
            print "WARNING: NEW Course created!"
            course.is_active = True
            course.contest_integrated = True
            course.rb_integrated = True
            course.save()

        school.courses.add(course)

        for student in get_users_from_cs_xml(sys.stdin):
            last_name, first_name = student['name'].split(' ', 1)
            username = student['login']
            group_name = student['grp']

            try:
                user = User.objects.get(username__iexact=username)
            except User.DoesNotExist:
                print "Creating new user! : {0}".format(username.encode("utf-8"))
                user = User.objects.create(username=username)
                user.last_name = last_name
                user.first_name = first_name

            if ( user.password == "" ) or ( user.has_usable_password() == False ):
                user.set_password(''.join(random.choice(string.letters) for i in xrange(20)))
                user.save()

            group, _ = Group.objects.get_or_create(year=year, name=group_name)
            course.groups.add(group)
            group.students.add(user)
            print "{0} {1} {2}".format(user, user.get_full_name().encode("utf-8"), group)
コード例 #3
0
ファイル: import_perltask.py プロジェクト: znick/anytask
def import_perltask(perltask_xml, year=None):
    if year is None:
        year = get_or_create_current_year()
    course, created = Course.objects.get_or_create(year=year, name='Perltask')
    if created:
        print "WARNING: NEW Course created!"
        course.type = Course.TYPE_POTOK
        course.take_policy = Course.TAKE_POLICY_SELF_TAKEN
        course.max_users_per_task = 8
        course.max_days_without_score = 30
        course.days_drop_from_blacklist = 14
        course.save()

    doc = parse(perltask_xml)
    for task in doc.getElementsByTagName("task"):
        if task.getAttribute('m'):  # got_substasks
            import_task_with_subtasks(task, course, year)
        else:
            import_task_no_subtasks(task, course, year)
コード例 #4
0
def import_perltask(perltask_xml, year=None):
    if year is None:
        year = get_or_create_current_year()
    course, created = Course.objects.get_or_create(year=year, name='Perltask')
    if created:
        print "WARNING: NEW Course created!"
        course.type = Course.TYPE_POTOK
        course.take_policy = Course.TAKE_POLICY_SELF_TAKEN
        course.max_users_per_task = 8
        course.max_days_without_score = 30
        course.days_drop_from_blacklist = 14
        course.save()

    doc = parse(perltask_xml)
    for task in doc.getElementsByTagName("task"):
        if task.getAttribute('m'):  # got_substasks
            import_task_with_subtasks(task, course, year)
        else:
            import_task_no_subtasks(task, course, year)
コード例 #5
0
    def handle(self, **options):
        year = options['year']
        if year:
            year = int(year)
            year, _ = Year.objects.get_or_create(start_year=year)

        if not year:
            year = get_or_create_current_year()
        
        course, created = Course.objects.get_or_create(year=year, name='Perltask')
        if created:
            print "WARNING: NEW Course created!"
            course.type = Course.TYPE_POTOK
            course.take_policy = Course.TAKE_POLICY_SELF_TAKEN
            course.max_users_per_task = 8
            course.max_days_without_score = 30
            course.days_drop_from_blacklist = 14
            course.save()
        
        for student in get_users_from_cs_xml(sys.stdin):
            last_name, first_name = student['name'].split(' ', 1)
            username = student['login']
            group_name = student['grp']

            try:
                user = User.objects.get(username__iexact=username)
            except User.DoesNotExist:
                print "Creating new user! : {0}".format(username.encode("utf-8"))
                user = User.objects.create(username=username)

            if ( user.password == "" ) or ( user.has_usable_password() == False ):
                user.set_password(''.join(random.choice(string.letters) for i in xrange(20)))
                user.save()

            group, _ = Group.objects.get_or_create(year=year, name=group_name)
            course.groups.add(group)
            group.students.add(user)
            print "{0} {1} {2}".format(user, user.get_full_name().encode("utf-8"), group)