def thu111(request): t1= time.time() t2= time.time() if request.method=='POST': print "chao" s=request.FILES.get('file') print s.name print s.size filename = save_file(request.FILES.get('file'), request.session) filepath = os.path.join(settings.TEMP_FILE_LOCATION, filename) book = xlrd.open_workbook(filepath) sheet = book.sheet_by_index(0) print to_en1(sheet.cell(13,1).value) print book print sheet print "ffffffffffffff" print (t2-t1) t = loader.get_template(os.path.join('school','ll.html')) c = RequestContext(request, { } ) #print (t2-t1) return HttpResponse(t.render(c))
def importMark(request,term_id,subject_id): user = request.user if not user.is_authenticated(): return HttpResponseRedirect( reverse('login')) selectedSubject = Subject.objects.get(id=subject_id) try: if in_school(request,selectedSubject.class_id.year_id.school_id) == False: return HttpResponseRedirect('/school') except Exception as e: return HttpResponseRedirect(reverse('index')) position= get_position(request) if position==4: pass elif position ==3: if (selectedSubject.teacher_id.id != request.user.teacher.id): return HttpResponseRedirect('/school') else: return HttpResponseRedirect('/school') t1= time.time() timeToEdit = int(selectedSubject.class_id.year_id.school_id.get_setting('lock_time'))*60 timeNow =datetime.datetime.now() selectedTerm=Term.objects.get(id=term_id) absentMessage='' editMarkMessage='' numberOk =0 if request.method=='POST': filename = save_file(request.FILES.get('file'), request.session) filepath = os.path.join(settings.TEMP_FILE_LOCATION, filename) book = xlrd.open_workbook(filepath) s = book.sheet_by_index(0) validateMessage = validate(s,selectedSubject.nx) isNx=selectedSubject.nx if validateMessage=='': markList = Mark.objects.filter(subject_id=subject_id,term_id=term_id,current=True).order_by('student_id__index','student_id__first_name','student_id__last_name','student_id__birthday') pupilList = Pupil.objects.filter(classes=selectedSubject.class_id,attend__is_member=True).order_by('index','first_name','last_name','birthday') markTimeList =MarkTime.objects.filter(mark_id__term_id=term_id,mark_id__subject_id=subject_id,mark_id__current=True).order_by('mark_id__student_id__index','mark_id__student_id__first_name','mark_id__student_id__last_name','mark_id__student_id__birthday') if (isNx & (selectedTerm.number==2)): tkMonList=TKMon.objects.filter(subject_id=subject_id,current=True).order_by('student_id__index','student_id__first_name','student_id__last_name','student_id__birthday') x=11 y=0 list = zip(pupilList,markList,markTimeList) for p,m,mt in list: pass for i in range(x,s.nrows): lastName = s.cell(i,y+1).value firstName = s.cell(i,y+2).value birthday = s.cell(i,y+3).value #p=pupilList.filter() ok=False for p,m,mt in list: if (p.last_name==lastName) & (p.first_name==firstName) & (p.birthday.strftime('%d/%m/%Y')== birthday): ok=True editMarkMessage,m.mieng_1,mt.mieng_1=process(s,i,y+4,m.mieng_1,mt.mieng_1,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mieng_2,mt.mieng_2=process(s,i,y+5,m.mieng_2,mt.mieng_2,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mieng_3,mt.mieng_3=process(s,i,y+6,m.mieng_3,mt.mieng_3,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mieng_4,mt.mieng_4=process(s,i,y+7,m.mieng_4,mt.mieng_4,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mieng_5,mt.mieng_5=process(s,i,y+8,m.mieng_5,mt.mieng_5,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_1,mt.mlam_1=process(s,i,y+9,m.mlam_1,mt.mlam_1,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_2,mt.mlam_2=process(s,i,y+10,m.mlam_2,mt.mlam_2,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_3,mt.mlam_3=process(s,i,y+11,m.mlam_3,mt.mlam_3,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_4,mt.mlam_4=process(s,i,y+12,m.mlam_4,mt.mlam_4,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_5,mt.mlam_5=process(s,i,y+13,m.mlam_5,mt.mlam_5,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_1,mt.mot_tiet_1=process(s,i,y+14,m.mot_tiet_1,mt.mot_tiet_1,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_2,mt.mot_tiet_2=process(s,i,y+15,m.mot_tiet_2,mt.mot_tiet_2,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_3,mt.mot_tiet_3=process(s,i,y+16,m.mot_tiet_3,mt.mot_tiet_3,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_4,mt.mot_tiet_4=process(s,i,y+17,m.mot_tiet_4,mt.mot_tiet_4,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_5,mt.mot_tiet_5=process(s,i,y+18,m.mot_tiet_5,mt.mot_tiet_5,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.ck,mt.ck=process(s,i,y+19,m.ck,mt.ck,timeNow,timeToEdit,position,isNx) if isNx: if selectedTerm.number==1: print "f1" editMarkMessage,m.tb,mt.tb=process(s,i,y+20,m.tb,mt.tb,timeNow,timeToEdit,position,isNx) else: print "f2" editMarkMessage,m.tb,mt.tb=process(s,i,y+21,m.tb,mt.tb,timeNow,timeToEdit,position,isNx) for p,tkMon in zip(pupilList,tkMonList): if (p.last_name==lastName) & (p.first_name==firstName) & (p.birthday.strftime('%d/%m/%Y')== birthday): editMarkMessage,tkMon.tb_nam,tkMon.time=process(s,i,y+22,tkMon.tb_nam,tkMon.time,timeNow,timeToEdit,position,isNx) tkMon.save() break break if (editMarkMessage!=''): break if not ok: absentMessage+='<tr>'+u'<td>' +lastName+' '+firstName+u'</td>'+u'<td>'+unicode(birthday)+u'</td>'+'</tr>' else: numberOk+=1 if (editMarkMessage==''): for m,mt in zip(markList,markTimeList): m.save() mt.save() message='Lỗi' if (validateMessage=='') & (editMarkMessage==''): if numberOk==len(markList): message="Đã nhập thành công cả lớp" else: message="Đã nhập được "+str(numberOk)+"/"+str(len(markList))+" học sinh." t2= time.time() print (t2-t1) data=[{"absentMessage":absentMessage, 'validateMessage':validateMessage, 'editMarkMessage':editMarkMessage, 'message':message, }] #print (t2-t1) return HttpResponse( simplejson.dumps( data ))
def importMark(request,term_id,subject_id): user = request.user if not user.is_authenticated(): return HttpResponseRedirect( reverse('login')) selectedSubject = Subject.objects.get(id=subject_id) try: if in_school(request,selectedSubject.class_id.year_id.school_id) == False: return HttpResponseRedirect('/school') except Exception as e: return HttpResponseRedirect(reverse('index')) position= get_position(request) if position==4: pass elif position ==3: if (selectedSubject.teacher_id.id != request.user.teacher.id): return HttpResponseRedirect('/school') else: return HttpResponseRedirect('/school') t1= time.time() timeToEdit = int(selectedSubject.class_id.year_id.school_id.get_setting('lock_time'))*60 timeNow =datetime.datetime.now() selectedTerm=Term.objects.get(id=term_id) absentMessage='' editMarkMessage='' numberOk =0 if request.method=='POST': filename = save_file(request.FILES.get('file'), request.session) filepath = os.path.join(TEMP_FILE_LOCATION, filename) book = xlrd.open_workbook(filepath) s = book.sheet_by_index(0) validateMessage = validate(s,selectedSubject.nx) isNx=selectedSubject.nx if validateMessage=='': markList = Mark.objects.filter(subject_id=subject_id,term_id=term_id,current=True).order_by('student_id__index','student_id__first_name','student_id__last_name','student_id__birthday') pupilList = Pupil.objects.filter(classes=selectedSubject.class_id,attend__is_member=True).order_by('index','first_name','last_name','birthday') markTimeList =MarkTime.objects.filter(mark_id__term_id=term_id,mark_id__subject_id=subject_id,mark_id__current=True).order_by('mark_id__student_id__index','mark_id__student_id__first_name','mark_id__student_id__last_name','mark_id__student_id__birthday') if (isNx & (selectedTerm.number==2)): tkMonList=TKMon.objects.filter(subject_id=subject_id,current=True).order_by('student_id__index','student_id__first_name','student_id__last_name','student_id__birthday') x=11 y=0 list = zip(pupilList,markList,markTimeList) for p,m,mt in list: pass for i in range(x,s.nrows): lastName = s.cell(i,y+1).value firstName = s.cell(i,y+2).value birthday = s.cell(i,y+3).value #p=pupilList.filter() ok=False for p,m,mt in list: if (p.last_name==lastName) & (p.first_name==firstName) & (p.birthday.strftime('%d/%m/%Y')== birthday): ok=True editMarkMessage,m.mieng_1,mt.mieng_1=process(s,i,y+4,m.mieng_1,mt.mieng_1,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mieng_2,mt.mieng_2=process(s,i,y+5,m.mieng_2,mt.mieng_2,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mieng_3,mt.mieng_3=process(s,i,y+6,m.mieng_3,mt.mieng_3,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mieng_4,mt.mieng_4=process(s,i,y+7,m.mieng_4,mt.mieng_4,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mieng_5,mt.mieng_5=process(s,i,y+8,m.mieng_5,mt.mieng_5,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_1,mt.mlam_1=process(s,i,y+9,m.mlam_1,mt.mlam_1,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_2,mt.mlam_2=process(s,i,y+10,m.mlam_2,mt.mlam_2,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_3,mt.mlam_3=process(s,i,y+11,m.mlam_3,mt.mlam_3,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_4,mt.mlam_4=process(s,i,y+12,m.mlam_4,mt.mlam_4,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mlam_5,mt.mlam_5=process(s,i,y+13,m.mlam_5,mt.mlam_5,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_1,mt.mot_tiet_1=process(s,i,y+14,m.mot_tiet_1,mt.mot_tiet_1,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_2,mt.mot_tiet_2=process(s,i,y+15,m.mot_tiet_2,mt.mot_tiet_2,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_3,mt.mot_tiet_3=process(s,i,y+16,m.mot_tiet_3,mt.mot_tiet_3,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_4,mt.mot_tiet_4=process(s,i,y+17,m.mot_tiet_4,mt.mot_tiet_4,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.mot_tiet_5,mt.mot_tiet_5=process(s,i,y+18,m.mot_tiet_5,mt.mot_tiet_5,timeNow,timeToEdit,position,isNx) if editMarkMessage !='': break editMarkMessage,m.ck,mt.ck=process(s,i,y+19,m.ck,mt.ck,timeNow,timeToEdit,position,isNx) if isNx: if selectedTerm.number==1: print "f1" editMarkMessage,m.tb,mt.tb=process(s,i,y+20,m.tb,mt.tb,timeNow,timeToEdit,position,isNx) else: print "f2" editMarkMessage,m.tb,mt.tb=process(s,i,y+21,m.tb,mt.tb,timeNow,timeToEdit,position,isNx) for p,tkMon in zip(pupilList,tkMonList): if (p.last_name==lastName) & (p.first_name==firstName) & (p.birthday.strftime('%d/%m/%Y')== birthday): editMarkMessage,tkMon.tb_nam,tkMon.time=process(s,i,y+22,tkMon.tb_nam,tkMon.time,timeNow,timeToEdit,position,isNx) tkMon.save() break break if (editMarkMessage!=''): break if not ok: absentMessage+='<tr>'+u'<td>' +lastName+' '+firstName+u'</td>'+u'<td>'+unicode(birthday)+u'</td>'+'</tr>' else: numberOk+=1 if (editMarkMessage==''): for m,mt in zip(markList,markTimeList): m.save() mt.save() message='Lỗi' if (validateMessage=='') & (editMarkMessage==''): if numberOk==len(markList): message="Đã nhập thành công cả lớp" else: message="Đã nhập được "+str(numberOk)+"/"+str(len(markList))+" học sinh." t2= time.time() print (t2-t1) data=[{"absentMessage":absentMessage, 'validateMessage':validateMessage, 'editMarkMessage':editMarkMessage, 'message':message, }] #print (t2-t1) return HttpResponse( simplejson.dumps( data ))