Ejemplo n.º 1
0
    def lookup(self, uri):
        '''Lookup the given URIs.
        Return type:
        list of mopidy.models.Track '''

        logger.info("Lookup Plex uri '%s'", uri)

        parts = uri.split(':')

        if uri.startswith('plex:artist:'):
            # get all tracks for artist
            item_id = parts[2]
            plex_uri = '/library/metadata/{}/allLeaves'.format(item_id)
        elif uri.startswith('plex:album:'):
            # get all tracks for album
            item_id = parts[2]
            plex_uri = '/library/metadata/{}/children'.format(item_id)
        elif uri.startswith('plex:track:'):
            # get track
            item_id = parts[2]
            plex_uri = '/library/metadata/{}'.format(item_id)

        ret = []
        for item in self.plex.query(plex_uri):
            plextrack = plexutils.buildItem(self.plex,
                                            item,
                                            '/library/metadata/{}'.format(item.attrib['ratingKey']))
            ret.append(wrap_track(plextrack, self.backend.plex_uri))
        return ret
Ejemplo n.º 2
0
 def _safe_builditems(self, data):
     items = []
     for elem in data:
         try:
             items.append(utils.buildItem(self.server, elem, '/hubs'))
         except Exception as err:
             logging.warn('Failed %s to build %s; Error: %s' %
                          (self.type, self.title, err))
     return items
Ejemplo n.º 3
0
 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 = [utils.buildItem(server, elem, initpath) for elem in data]
Ejemplo n.º 4
0
 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 = [utils.buildItem(server, elem, initpath) for elem in data]