Esempio n. 1
0
 def setUp(self):
     user = User.objects.create_user(username="******", email="*****@*****.**", password="******")
     self.building = Building.objects.create(owner=user, name="user's default")
     user.save()
     self.building.save()
     self.old_score = Score(parent=self.building, points=23, time=datetime(1987, 1, 2, 1, 1, 1))
     self.old_score.save()
     time_yesterday = datetime.now() - timedelta(days=1)
     self.recent_score = Score(parent=self.building, points=42, time=time_yesterday)
     self.recent_score.save()
     time_day_before_yesterday = datetime.now() - timedelta(days=2)
     self.other_recent_score = Score(parent=self.building, points=52, time=time_day_before_yesterday)
     self.other_recent_score.save()
Esempio n. 2
0
def SelectCourseOperation(request, selected, sid):
    status = ""
    if sid == -1:
        student = StudentProfile.objects.get(userid=request.user)
    else:
        student = StudentProfile.objects.get(pk=sid)
    for item in selected:
        item = int(item)
        print 'dfdfdf:%s' % item
        select_course = SelectCourse.objects.filter(
            student=student, course__course_id__course_plan_id=item)
        print len(select_course)
        if select_course.count() == 0:
            course = Course.objects.get(pk=item)
            if course.int_nelepeo == course.class_capacity:
                status = status + u"课程“" + course.course_id.course_name + u"” 已经没有课余量,选课失败!" + "<br/>"
            #!!!!!!
            # it should be rewrite later
            # elif checkTimeCrash(course,student):
            #     status=status+u"课程“"+course.course_id.course_name+u"” 与已选课程上课时间冲突,选课失败!"+"<br/>"
            elif SelectCourse.objects.filter(
                    student=student, course__course_id=course.course_id):
                status = status + u"课程“" + course.course_id.course_name + u"” 相同课程计划课程已经选过,选课失败!" + "<br/>"
            else:
                print 'success'
                course.int_nelepeo = course.int_nelepeo + 1
                course.save()
                course_select_item = SelectCourse(student=student,
                                                  course=course)
                course_select_item.save()
                Score(select_obj=course_select_item).save()
                status = status + u"课程“" + course.course_id.course_name + u"” 选课成功!" + "<br/>"
    return simplejson.dumps({"status": status})
Esempio n. 3
0
def snake_enter_score():
    status = 'no response'
    # make sure scorehash is correct for the given score
    score = int(request.form['score'])
    scorehash = int(request.form['scorehash'])
    if math.sqrt(scorehash - 1337) == score:
        if request.form['SNAKE_BLOCK'] == '1':
            # create recording string
            recTurn = request.form['recTurn']
            recFrame = request.form['recFrame']
            recFood = request.form['recFood']
            recData = urlencode({
                'recTurn': recTurn,
                'recFrame': recFrame,
                'recFood': recFood
            })
            # add the new score
            playerName = g.user.username  #request.form['playerName']#re.sub('[&=#<>]', '', request.form['playerName'])
            score = Score(player=playerName, score=score, recording=recData)
            db.session.add(score)
            db.session.commit()
            # reset the high scores. the game requests rec#.txt files 0-9 by
            # default, so the recid field must be updated for the high scores
            # clear out current high scores
            for score in Score.query.all():
                score.recid = None
                db.session.add(score)
            db.session.commit()
            # update the recid field to set the new high scores
            scores = Score.query.order_by(Score.score.desc()).limit(10).all()
            for i in range(0, len(scores)):
                scores[i].recid = i
                db.session.add(scores[i])
            db.session.commit()
            status = 'ok'
        else:
            status = 'snake block not present'
    else:
        status = 'invalid scorehash'
    return urlencode({'status': status})
Esempio n. 4
0
class scores_in_daterange_Test(TestCase):
    def setUp(self):
        user = User.objects.create_user(username="******", email="*****@*****.**", password="******")
        self.building = Building.objects.create(owner=user, name="user's default")
        user.save()
        self.building.save()
        self.old_score = Score(parent=self.building, points=23, time=datetime(1987, 1, 2, 1, 1, 1))
        self.old_score.save()
        time_yesterday = datetime.now() - timedelta(days=1)
        self.recent_score = Score(parent=self.building, points=42, time=time_yesterday)
        self.recent_score.save()
        time_day_before_yesterday = datetime.now() - timedelta(days=2)
        self.other_recent_score = Score(parent=self.building, points=52, time=time_day_before_yesterday)
        self.other_recent_score.save()

    def test_with_given_daterange(self):
        scores = scores_in_daterange(self.building, (datetime(1987,1,1,0,0,0),datetime(1988,1,1,1,1,1)))
        self.assertEqual(len(scores), 1)
        self.assertEqual(scores[0], self.old_score)

    def test_with_no_daterange(self):
        scores = scores_in_daterange(self.building)

        self.assertEqual(len(scores), 3)
Esempio n. 5
0
from common.models import Score
from common.models import SelectCourse

select_set=SelectCourse.objects.filter(course__course_id__course_plan_id="1160165030")

for item in select_set:
    if Score.objects.filter(select_obj=item).count() ==0 :
        s=Score(select_obj=item,attendance=0,homework=0,final=0,total=0)
        s.save()