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 class YlVahendus( Persistent, OFS.SimpleItem.Item, Traversable, AccessControl.Role.RoleManager, Cruft ): "Ülesannete import/eksport, loomine" ylesanneteTyybid=("ValikYlesanne","TekstivastusegaYlesanne", "YksikvalikYlesanne", "MitmikvalikYlesanne", "OigeTekstivastusegaYlesanne", "ArvuvahemikuliseVastusegaYlesanne") def ylesanneteTolkegaTyybid(self, REQUEST): "Ülesannete tüübid tõlgituna" 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": "Arvuvahemikuvastus" , #!!REQUEST['L_it_one_answer'] } 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="
"+REQUEST['L_it_add_exercise']+"
" 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(REQUEST["L_it_check_exercise_default_question"]) if tyyp=='TekstivastusegaYlesanne': return TekstivastusegaYlesanne(REQUEST["L_it_text_answer_exercise_default_question"]) if tyyp=='YksikvalikYlesanne': return YksikvalikYlesanne(REQUEST['L_it_one_answer_default_question']) if tyyp=='OigeTekstivastusegaYlesanne': return OigeTekstivastusegaYlesanne(REQUEST["L_it_one_answer_exercise_default_question"]) if tyyp=='MitmikvalikYlesanne': return MitmikvalikYlesanne(REQUEST["L_it_multiple_choice_exercise_default_question"]) if tyyp=='ArvuvahemikuliseVastusegaYlesanne': return ArvuvahemikuliseVastusegaYlesanne(REQUEST["L_it_multiple_choice_exercise_default_question"]) #!!tölge Globals.InitializeClass(YlVahendus) Globals.default__class_init__(YlVahendus)