def main(self): while 1: while self.dataReady("control"): mes = self.recv("control") if isinstance(mes, shutdownMicroprocess) or isinstance(mes, producerFinished): self.send(producerFinished(), "signal") break while self.dataReady("inbox"): r = self.recv('inbox') if r.registered: print "'%s' is already a registered username." % self.username elif self.registration_id == r.stanza_id: print "'%s' is now a registered user."\ "Please restart the client without the register flag." % self.username else: if 'username' in r.infos and 'password' in r.infos: self.registration_id = generate_unique() r = Registration(type=u'set', stanza_id=self.registration_id) r.infos[u'username'] = self.username r.infos[u'password'] = self.password self.send(r, 'outbox') while self.dataReady("error"): r = self.recv('error') print r.error if not self.anyReady(): self.pause() yield 1
def main(self): yield self.setup() while 1: while self.dataReady("control"): mes = self.recv("control") if isinstance(mes, str): if mes.strip() == 'quit': self.shutdown() elif isinstance(mes, shutdownMicroprocess) or isinstance(mes, producerFinished): self.send(mes, "signal") break while self.dataReady("inbox"): msg = self.recv('inbox') if msg == "quit": self.send(shutdownMicroprocess(), "signal") yield 1 break while self.dataReady("streamfeat"): feat = self.recv('streamfeat') if feat.register and self.register: self.send(Registration(), 'doregistration') elif self.register and not feat.register: print "The server does not support in-band registration. Closing connection." self.abort() else: self.send(feat, 'doauth') while self.dataReady("jid"): self.jid = self.recv('jid') if not self.anyReady(): self.pause() yield 1 yield 1 self.stop() print "You can hit Ctrl-C to shutdown all processes now."