from Globals import InitializeClass, Persistent from Acquisition import Explicit from OFS.Folder import Folder from OFS.SimpleItem import Item def lisamisKonstruktor(lisaja): "Uus tervitaja" lisaja.Destination()._setObject("tere2", Tere2()) return "Lisatud leht nimega tere2" class Tere2(Folder, Persistent, Explicit): "Teretusklass" meta_type="Tere2" viimaneTehe="" tehteLoendur=0 def index_html(self): "Tervitusmeetod" return "Tervist!!!" def tervitaHommikuselt(self): "Hommikune tervitus" return "Tere hommikust!!" def korruta(self, arv1, arv2): "Korrutab kaks ette antud arvu" self.salvestaViimaneTehe("Korrutati "+arv1+" ja "+arv2) self.lisaTeheKataloogi(arv1, arv2) return int(arv1)*int(arv2) def salvestaViimaneTehe(self, tehtetekst): "Salvestatakse viimatine tehe Tere2 objekti kylge" self.viimaneTehe=tehtetekst return "Tekst salvestatud: "+tehtetekst def lisaTeheKataloogi(self, arv1, arv2): "Loob Tere2 kataloogi elemendi tehte sisuga" if hasattr(self, 'tehteLoendur'): self.tehteLoendur=self.tehteLoendur+1 else: self.tehteLoendur=1 t=KorrutusTehe(arv1, arv2) t.id="tehe"+str(self.kysiTehteLoendur()) self._setObject(t.id, t) return "Lisati "+t.id def kysiViimaneTehe(self): "Tagastatakse viimase tehte tekst" return self.viimaneTehe def kysiTehteLoendur(self): "Tagastatakse, mitu tehet olnud on" return self.tehteLoendur InitializeClass(Tere2) class KorrutusTehe(Item, Persistent, Explicit): "Vahend korrutustehte andmete hoidmiseks" def __init__(self, tegur1, tegur2): "Konstruktor tehteeksemplari loomiseks" self.tegur1=tegur1 self.tegur2=tegur2 def kysiTegur1(self): "Esimese teguri sisu" return self.tegur1 def kysiTegur2(self): "Esimese teguri sisu" return self.tegur2 def kysiTeheTekstina(self): "Vormidatud sisu" return str(self.tegur1)+"*"+str(self.tegur2) InitializeClass(KorrutusTehe)