python-plexapi/plexapi/playqueue.py
2014-12-28 22:21:58 -05:00

37 lines
1.5 KiB
Python

"""
PlexAPI Play PlayQueues
"""
import plexapi, requests
from plexapi import video
from plexapi import utils
class PlayQueue(object):
def __init__(self, server, data, initpath):
self.server = server
self.initpath = initpath
self.identifier = data.attrib.get('identifier')
self.mediaTagPrefix = data.attrib.get('mediaTagPrefix')
self.mediaTagVersion = data.attrib.get('mediaTagVersion')
self.playQueueID = data.attrib.get('playQueueID')
self.playQueueSelectedItemID = data.attrib.get('playQueueSelectedItemID')
self.playQueueSelectedItemOffset = data.attrib.get('playQueueSelectedItemOffset')
self.playQueueTotalCount = data.attrib.get('playQueueTotalCount')
self.playQueueVersion = data.attrib.get('playQueueVersion')
self.items = [video.build_item(server, elem, initpath) for elem in data]
@classmethod
def create(cls, server, video, shuffle=0, continuous=0):
# NOTE: I have not yet figured out what __GID__ is below or where the proper value
# can be obtained. However, the good news is passing anything in seems to work.
path = 'playQueues%s' % utils.joinArgs({
'uri': 'library://__GID__/item/%s' % video.key,
'key': video.key,
'type': 'video',
'shuffle': shuffle,
'continuous': continuous,
'X-Plex-Client-Identifier': plexapi.X_PLEX_IDENTIFIER,
})
data = server.query(path, method=requests.post)
return cls(server, data, initpath=path)