Example #1
0
 def searchCompleted(self, context, search_results):
     if context.source==self.__module__:
         media_item = None
         for media_item in search_results:
             print "Searh Result: \"%s\" by \"%s\" on \"%s\"." % \
                 (media_item.title, media_item.artist, media_item.album)
     
         # play last one DEBUG!!!!!
         if media_item:
             queue(media_item)
Example #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")