# -*- coding: utf-8 # Copyright 2001, 2002 by IVA Team and contributors # # This file is part of IVA. # # IVA is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # IVA is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with IVA; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import AccessControl import OFS, Globals import types import YlTest #import TestiYlesanne from OFS import SimpleItem from TraversableWrapper import Traversable from Globals import Persistent from AccessControl import ClassSecurityInfo from Cruft import Cruft from common import translate class YlVahendus( Persistent, OFS.SimpleItem.Item, Traversable, AccessControl.Role.RoleManager, Cruft ): "Ülesannete import/eksport, loomine" ylesanneteTyybid=("ValikYlesanne","TekstivastusegaYlesanne", "YksikvalikYlesanne", "MitmikvalikYlesanne", "OigeTekstivastusegaYlesanne", "ArvuvahemikuliseVastusegaYlesanne", "ProtsentYlesanne", "VastavusYlesanne") def ylesanneteTolkegaTyybid2(self, REQUEST): "Ülesannete tüübid tõlgituna, vana koopia" self.get_lang(('ivatests',), REQUEST) tulemus={ "ValikYlesanne": REQUEST['L_it_check_exercise'], "TekstivastusegaYlesanne": REQUEST['L_it_text_answer_exercise'], "YksikvalikYlesanne": REQUEST['L_it_one_answer_exercise'], "MitmikvalikYlesanne": REQUEST['L_it_multiple_choice_exercise'], "OigeTekstivastusegaYlesanne": REQUEST['L_it_one_answer'], "ArvuvahemikuliseVastusegaYlesanne": REQUEST["L_it_number_space_exercise"], "ProtsentYlesanne": REQUEST["L_it_percent_excercise"] , "VastavusYlesanne": REQUEST["L_it_matching_exercise"], } return tulemus def ylesanneteTolkegaTyybid(self, REQUEST): "Tüübid tõlgituna, ZPT tarbeks" tulemus={ "ValikYlesanne": translate(self, 'check_exercise', target=self.giveLanguage(REQUEST)), "TekstivastusegaYlesanne": translate(self, 'text_answer_exercise', target=self.giveLanguage(REQUEST)), "YksikvalikYlesanne": translate(self, 'one_answer_exercise', target=self.giveLanguage(REQUEST)), "MitmikvalikYlesanne": translate(self, 'multiple choice', target=self.giveLanguage(REQUEST)), "OigeTekstivastusegaYlesanne": translate(self, 'one answer', target=self.giveLanguage(REQUEST)), "ArvuvahemikuliseVastusegaYlesanne": translate(self, 'number space', target=self.giveLanguage(REQUEST)), "ProtsentYlesanne": translate(self, 'percent exercise', target=self.giveLanguage(REQUEST)), "VastvusYlesanne": translate(self, 'matcing exercise', target=self.giveLanguage(REQUEST)) } return tulemus def tekstistYlesanneteLaadimiseVorm(self, REQUEST): "Tekstiala sisestuseks" tulemus=YlTest.leheAlgus(self, REQUEST)+\ "
"+\ ""+\ ""+\ "

"+\ "
"+\ ""+\ ""+\ "

"+YlTest.leheLopp(self, REQUEST) return tulemus def tekstistYlesanneteSalvestus(self, REQUEST, tekst): "Salvestus tase kõrgemale" #self.tekstistYlesanneteMassiiv(tekst) #return "kalake" self.aq_parent.lisaYlesanded(self.tekstistYlesanneteMassiiv(tekst)) #return "algus2" REQUEST.RESPONSE.redirect('../index_html') def tekstiFailistYlesanneteSalvestus(self, fail, REQUEST): "Failist lisamine tase kõrgemale" # return fail.readline() self.aq_parent.lisaYlesanded(self.tekstiRidadestYlesanneteMassiiv(fail.readlines())) REQUEST.RESPONSE.redirect('../index_html') def tekstistYlesanneteMassiiv(self, tekst): "HotPotatose väljundist lugemine" reamassiiv=tekst.split("\n") return self.tekstiRidadestYlesanneteMassiiv(reamassiiv) def tekstiRidadestYlesanneteMassiiv(self, reamassiiv): "Read sees massiivina" algus=0 ylesanded=[] while algus=len(reamassiiv):return ylesanded while algus1: if rida[1]=="ANSWER1": if rida[4]=="0": return "OigeTekstivastusegaYlesanne" else: return "LynkTestYlesanne" return "vastuseta S" return "SisuTundmatu" def ylesanneteTyypideLoetelu(self, REQUEST): "Viited ülesannete tüüpidele" self.get_lang(('ivatests',), REQUEST) tulemus="

"+REQUEST["L_it_choosing_exercise_type"]+"

" for x in self.ylesanneteTyybid: tulemus=tulemus+"\n"+\ ("%s
" % (x, x)) return tulemus def ylesanneteTyybidValikuna(self, REQUEST): "Valikmenüü ülesannete lisamiseks" self.get_lang(('ivatests',), REQUEST) andmed=self.ylesanneteTolkegaTyybid(REQUEST) tulemus="

"+translate(self, 'editing quiz', target=self.giveLanguage(REQUEST))+"

"+translate(self, 'add exercise', target=self.giveLanguage(REQUEST))+":
" return tulemus def lisaUusYlesanne(self, REQUEST, tyyp): "Ülesande uus eksemplar" import YlTyybid self.get_lang(('ivatests',),REQUEST) from YlTyybid import * if tyyp=='ValikYlesanne': return ValikYlesanne(translate(self, 'check_exercise_default_question', target=self.giveLanguage(REQUEST))) if tyyp=='TekstivastusegaYlesanne': return TekstivastusegaYlesanne(translate(self, 'text_answer_exercise_default_question',target=self.giveLanguage(REQUEST)) ) if tyyp=='YksikvalikYlesanne': return YksikvalikYlesanne(translate(self, 'L_it_one_answer_default_question', target=self.giveLanguage(REQUEST))) if tyyp=='OigeTekstivastusegaYlesanne': return OigeTekstivastusegaYlesanne(translate(self, "L_it_one_answer_exercise_default_question", target=self.giveLanguage(REQUEST))) if tyyp=='MitmikvalikYlesanne': return MitmikvalikYlesanne(translate(self, "L_it_multiple_choice_exercise_default_question", target=self.giveLanguage(REQUEST))) if tyyp=='ArvuvahemikuliseVastusegaYlesanne': return ArvuvahemikuliseVastusegaYlesanne(translate(self, "L_it_number_space_exercise_default_question", target=self.giveLanguage(REQUEST))) if tyyp=='ProtsentYlesanne': return ProtsentYlesanne(translate(self, "L_it_percent_exercise_default_question", target=self.giveLanguage(REQUEST))) if tyyp=='VastavusYlesanne': return VastavusYlesanne(translate(self, "L_it_matching_exercise_default_question", target=self.giveLanguage(REQUEST))) Globals.InitializeClass(YlVahendus) Globals.default__class_init__(YlVahendus)