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 onCommand(self, command, args): if command == 'play': self.reader.xmms2base.play() elif command == 'stop': self.reader.xmms2base.stop() elif command == 'pause': self.reader.xmms2base.pause() elif command == 'clear': self.reader.xmms2base.clear() elif command == 'next': self.reader.xmms2base.next() elif command == 'prev': self.reader.xmms2base.prev() elif command == 'get_current_id': curid = self.reader.xmms2base.get_current_id() print curid self.onEvent('current_id', curid, []) elif command == 'play_next': if len(args) != 1: raise Exception("Need 1 args") self.reader.xmms2base.play_next(args[0]) else: Log.info("No such command: %s" % command) return False # setCustomCharacter return True
def onCommand(self, command, args): if command == 'play': self.reader.xmms2base.play() elif command == 'stop': self.reader.xmms2base.stop() elif command == 'pause': self.reader.xmms2base.pause() elif command == 'clear': self.reader.xmms2base.clear() elif command == 'next': self.reader.xmms2base.next() elif command == 'prev': self.reader.xmms2base.prev() elif command == 'get_current_id': curid = self.reader.xmms2base.get_current_id() print curid self.onEvent('current_id',curid,[]) elif command == 'play_next': if len(args) != 1: raise Exception("Need 1 args") self.reader.xmms2base.play_next(args[0]) else: Log.info("No such command: %s" % command) return False # setCustomCharacter return True
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)