def genererExos(self): nq=-1 for i in range(len(self.exosBrut)): if self.exosBrut[i]==self.sepQCM: #si on a un séparateur d'exo, on créé une nouvelle instance de class exo if nq!=-1: #si on termine un autre exo, on check le tex, et on l'enregistre errtex = core.genererSvg(newExo,self.dossier) if not errtex == 0: newExo.erreurtex = True else: newExo.erreurtex = False newExo.save() newExo=core.CoreExo(banque=self.banque,type=1,question="",corrige="") newExo.save() nq=1 #on prévient qu'on va lire la question de l'exo ensuite elif self.exosBrut[i]==self.sepCorr: #si on a un séparateur de correction nq=2 #on passe en mode correction elif self.sepNote in self.exosBrut[i]: #si on a un séparateur note/reponse, c'est qu'on lit une nouvelle réponse tPart=self.exosBrut[i].partition(self.sepNote) reponse=core.CoreReponse(exo=newExo,texte=tPart[2],nom=tPart[0],position=len(newExo.corereponse_set.all())+1) #on l'ajoute reponse.save() nq=0 # et on prévient qu'on va continuer de lire une réponse elif nq==0: #si on est en train de lire un réponse reponse.texte+=self.exosBrut[i] #on ajoute le texte à la réponse acutelle reponse.save() elif nq==1: #si on est en train de lire une question newExo.question+=self.exosBrut[i] #on ajoute à la suite de la question (elle est égale à "" au départ) newExo.save() elif nq==2: #si on est en train de lire une correction newExo.corrige+=self.exosBrut[i] #on l'ajoute newExo.save() if nq!=-1: #si il y a eu au moins un exo, on check le tex, et on l'enregistre errtex = core.genererSvg(newExo,self.dossier) if not errtex == 0: newExo.erreurtex = True else: newExo.erreurtex = False newExo.save()
coreexo = CoreExo.objects.get(id=request.session['makexo']) except: print('Exercice d\'id '+str(formModifierExo.cleaned_data['idexo'])+' inexistant') return redirect('prof.views.banque') if request.method == 'POST': formMain = MakexoMain(request.POST) formAjouterReponse = MakexoAjouterReponse(request.POST) if formMain.is_valid(): print('ok') coreexo = CoreExo.objects.get(id=formMain.cleaned_data['idmainexo']) coreexo.question = formMain.cleaned_data['question'] coreexo.corrige = formMain.cleaned_data['corrige'] coreexo.type = formMain.cleaned_data['type'] coreexo.save() errtex = core.genererSvg(coreexo,dossier) if not errtex == 0: coreexo.erreurtex = True else: coreexo.erreurtex = False coreexo.save() elif formAjouterReponse.is_valid(): reponse = CoreReponse(exo=coreexo,texte=formAjouterReponse.cleaned_data['reponse'],nom=formAjouterReponse.cleaned_data['nom'],position=len(coreexo.corereponse_set.all())+1) reponse.save() errtex = core.genererSvg(coreexo,dossier) if not errtex == 0: coreexo.erreurtex = True else: coreexo.erreurtex = False coreexo.save()