def get_item(self): if self.item is None: upnp_id = self.get_id() upnp_parent_id = self.parent.get_id() self.debug("get_item %s %s %s", upnp_id, upnp_parent_id, self.name) item = DIDLLite.MusicTrack(upnp_id, upnp_parent_id, self.name) item.restricted = True item.name = self.name item.originalTrackNumber = self.originalTrackNumber item.title = self.title item.artist = self.artist item.album = self.album item.albumArtURI = self.cover item.duration = self.duration proxied_url = "%s%s" % (self.store.urlbase, self.get_id()) proxied_url = proxied_url.encode("utf-8") self.url = proxied_url self.location = MoeFmProxyStream(self.item_data["url"], self) protocol = "http-get" res = Resource( proxied_url, ("%s:*:%s:*" % (protocol, self.mimetype)).encode("utf-8") ) res.size = self.item_data["file_size"] * 1024 res.duration = self.duration item.res.append(res) self.item = item return self.item