def reader(self): print "listener starting" while not self.stop: try: data = self.asterisk.msconn.recv(1024) except socket.error, err: print "\nManager Receive Error %d: %s\nExiting." % ( err.args[0], err.args[1]) if not data: break lines = data.split("\r\n") if self.debug: for line in lines: if line: Log.debug("ASTERISK: %s" % line) if lines[0].startswith('Event:'): self.asterisk.extradict = {} disc, astevent = lines[0].split(':') #print 'New event: ' + astevent for line in lines[1:len(lines)]: if line == '': break elif line.rfind(':'): akey = line[0:line.find(':')] aval = line[line.find(':') + 2:] # akey,aval = line.split(':') akey.lstrip().rstrip() aval.lstrip().rstrip() self.asterisk.extradict[akey] = aval else: print "Error" + line aval = None # @todo: f.ex. CallerIDNum for Newchannel etc.. if self.asterisk.extradict.has_key('Uniqueid'): aval = self.asterisk.extradict['Uniqueid'] self.cleanextra(self.asterisk.extradict) self.service.onEvent(astevent, aval, self.asterisk.extradict)
def reader(self): print "listener starting" while not self.stop: try: data = self.asterisk.msconn.recv(1024) except socket.error, err: print "\nManager Receive Error %d: %s\nExiting." % (err.args[0], err.args[1]) if not data: break lines = data.split("\r\n") if self.debug: for line in lines: if line: Log.debug("ASTERISK: %s" % line) if lines[0].startswith("Event:"): self.asterisk.extradict = {} disc, astevent = lines[0].split(":") # print 'New event: ' + astevent for line in lines[1 : len(lines)]: if line == "": break elif line.rfind(":"): akey = line[0 : line.find(":")] aval = line[line.find(":") + 2 :] # akey,aval = line.split(':') akey.lstrip().rstrip() aval.lstrip().rstrip() self.asterisk.extradict[akey] = aval else: print "Error" + line aval = None # @todo: f.ex. CallerIDNum for Newchannel etc.. if self.asterisk.extradict.has_key("Uniqueid"): aval = self.asterisk.extradict["Uniqueid"] self.cleanextra(self.asterisk.extradict) self.service.onEvent(astevent, aval, self.asterisk.extradict)