Example #1
0
    def getmetadata(self, id, index, count):
        logging.debug("getmetadata args: " + id)

        mid = MediaId.parse(id)
        metadata = MetadataResult()

        if MediaId.PREFIX_ROOT == mid.prefix:
            metadata.mediacollection.append(MediaCollectionItem(MediaId(MediaId.PREFIX_PLAYLISTS), "Playlists"))
            metadata.mediacollection.append(MediaCollectionItem(MediaId(MediaId.PREFIX_SUBSCRIPTIONS), "Subscriptions"))
            metadata.mediacollection.extend(self.yt.getuserchannel())
            metadata.mediacollection.append(
                    MediaCollectionItem(MediaId(MediaId.PREFIX_CACHE), "Cache", itemtype="trackList"))

        elif MediaId.PREFIX_PLAYLISTS == mid.prefix:
            metadata.mediacollection.extend(self.yt.getuserplaylists())

        elif MediaId.PREFIX_PLAYLIST == mid.prefix:
            metadata.mediametadatacollection.extend(self.yt.getplaylist(mid.key))

        elif MediaId.PREFIX_SUBSCRIPTIONS == mid.prefix:
            metadata.mediacollection.extend(self.yt.getusersubscriptions())

        elif MediaId.PREFIX_CHANNEL == mid.prefix:
            metadata.mediacollection.extend(self.yt.getchannel(mid.key))

        elif MediaId.PREFIX_CACHE == mid.prefix:
            cached_videos = []
            for file in os.listdir(self.config.abs_cache_path):
                print(file)
                if file.endswith(".m4a"):
                    cached_videos.append(file.replace(".m4a", ""))

            metadata.mediametadatacollection.extend(self.yt.getvideos(cached_videos))

        return metadata.todict()
Example #2
0
 def getmediametadata(self, id):
     logging.debug("getmediametadata args: " + id)
     mid = MediaId.parse(id)
     return {"getMediaMetadataResult": self.yt.getvideo(mid.key).todict()}
Example #3
0
 def getmediauri(self, id):
     logging.debug("getmediauri args: " + id)
     mid = MediaId.parse(id)
     mediauri = MediaUri(self.config.streamtube_baseuri, mid)
     logging.debug("uri: " + mediauri.uri)
     return mediauri.uri