Пример #1
0
	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()
Пример #2
0
		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()