示例#1
0
 def updateQueue(self):
     self.queueBox.clear_messages()
     qitems = [x for x in getQueuedItems()]
     if qitems:
         self.queueBox.add_message("%d item(s) in the queue" % len(qitems))
         for item in qitems:
             self.queueBox.add_message("%s %s" % (item.queue_date.strftime('%I:%M:%S'), item.media_object.artist))
             self.queueBox.add_message("  %s" % (item.media_object.title))
     else:
         self.queueBox.add_message("Queue Is Empty")
示例#2
0
    def cmd(self, responder, user, channel, command, msg):
        if command == PAUSE:
            pause()
            responder("ok")

        elif command == RESUME:
            resume()
            responder("ok")

        elif command == SKIP:
            skip()
            responder("ok")

        elif command == STATUS:
            queueObj, statusLookup = getStatus()
            if queueObj:
                title = str(queueObj.media_object)
            else:
                title = ""

            if statusLookup:
                status, stat_text = statusLookup
            else:
                status = "IDLE"
                stat_text = "Waiting for Activity"

            responder(("%s %s: %s" % (status, stat_text, title)).encode("UTF-8"))

        elif command == DUMP:
            qitems = [x for x in getQueuedItems()]
            if qitems:
                responder("%d item(s) in the queue" % len(qitems))
                for item in qitems:
                    msg = "%i: %s" % (item.media_object.id, item.media_object)
                    responder(msg.encode("UTF-8"))

        elif command == REMOVE:
            if remQueuedItem(int(msg)):
                responder("ok")
            else:
                responder("Failed to remove")

        elif command == SEARCH:
            s = SearchContext(self)
            s.responder = responder
            initiateSearch(s, msg)

        elif command == ADD:
            try:
                dbId = int(msg)
            except:
                responder("Expecting Resource Id")
                return

            item = Session().query(MediaObject).filter(MediaObject.id == dbId).first()
            if item:
                if queue(item):
                    responder("ok")
                else:
                    responder("Already in Queue")
            else:
                responder("Not found")