def input(self): ## print "TkinterGui::MainWindow::input" cmd = self.inputField.get(1.0, Tkinter.END) self.inputField.delete(1.0, Tkinter.END) state = 'mmp' mmp = MMPState() psyc = PSYCState() for line in cmd.split('\n'): if line == ".": #end of packet break if line == "" or (not _isModifier(line) and state == 'mmp'): state = 'psyc' if state == 'mmp': mmp.set_state(line) continue if state == 'psyc': if _isModifier(line): psyc.set_state(line) elif line.__len__() and line[0] == '_': psyc.set_mc(line) else: psyc.append_text(line) self.center.send(mmp, psyc)
def register(self): psyc = PSYCState() mmp = MMPState() if self.center: mmp.set_state(":_target\t" + self.config.get("main", "uni")) psyc.set_mc("_request_link") self.center.send(mmp, psyc)
def auth(self): psyc = PSYCState() mmp = MMPState() if self.center: # das hier ist sicher weils nur an die eigene uni geht mmp.set_state(":_target\t" + self.config.get("main", "uni")) psyc.set_state(":_password\t" + self.config.get("main", "password")) psyc.set_mc("_set_password") self.center.send(mmp, psyc)
class PSYCPackage: """see bitkoenig's java interface specification""" def __init__(self): self.packagename = "Abstract psycPackage interface" self.methods = [] self.center = None self.psyc = PSYCState() self.mmp = MMPState() def registerCenter(self, center): self.center = center def getMethods(self): return self.methods def received(self, source, mc, mmp, psyc): print "<<<", source, "[", self.packagename, "]" print "mmp:", mmp.packetstate print "psyc:", psyc.packetstate print "mc:", mc print "text:", parsetext(mmp, psyc) print "----" def set_mc(self, mc): self.psyc.set_mc(mc) def set_target(self, target): self.mmp._assign("_target", target) def set_text(self, text): self.psyc.reset_text() self.psyc.append_text(text) def set_psycvar(self, var, value): self.psyc._assign(var, value) def send(self): self.center.send(self.mmp, self.psyc) self.mmp.reset_state() self.psyc.reset_state() def castmsg(self): self.center.castmsg(self.mmp, self.psyc) self.mmp.reset_state() self.psyc.reset_state()