def _soap_upnp_browse(url, objectid, flag=None): UPNP_CD_NS = u'urn:schemas-upnp-org:service:ContentDirectory:1' CD = ElementMaker(namespace=UPNP_CD_NS, nsmap={None: UPNP_CD_NS}) if flag: l = _soap_request( CD.Browse( CD.ObjectID(objectid), CD.BrowseFlag( 'BrowseMetadata' ), # @id,upnp:class,res,res@protocolInfo,res@av:authenticationUri,res@size,dc:title,upnp:albumArtURI,res@dlna:ifoFileURI,res@protection,res@bitrate,res@duration,res@sampleFrequency,res@bitsPerSample,res@nrAudioChannels,res@resolution,res@colorDepth,dc:date,av:dateTime,upnp:artist,upnp:album,upnp:genre,dc:contributer,upnp:storageFree,upnp:storageUsed,upnp:originalTrackNumber,dc:publisher,dc:language,dc:region,dc:description,upnp:toc,@childCount,upnp:albumArtURI@dlna:profileID,res@dlna:cleartextSize,@restricted,@dlna:dlnaManaged CD.Filter('*'), CD.StartingIndex('0'), CD.RequestedCount('1'), CD.SortCriteria(), ), url, UPNP_CD_NS + u'#Browse') else: l = _soap_request( CD.Browse( CD.ObjectID(objectid), CD.BrowseFlag('BrowseDirectChildren'), CD.Filter('*'), CD.StartingIndex('0'), CD.RequestedCount('8'), CD.SortCriteria(), ), url, UPNP_CD_NS + u'#Browse') l = l.xpath('//cd:BrowseResponse/Result/text()', namespaces={u'cd': UPNP_CD_NS})[0] return etree.fromstring(l)
def _soap_upnp_browse(url, objectid): UPNP_CD_NS = u'urn:schemas-upnp-org:service:ContentDirectory:1' CD = ElementMaker(namespace=UPNP_CD_NS, nsmap={None:UPNP_CD_NS}) l = _soap_request( CD.Browse( CD.ObjectID(objectid), CD.BrowseFlag('BrowseDirectChildren'), CD.Filter('*'), CD.StartingIndex('0'), CD.RequestedCount('8'), CD.SortCriteria(), ), url, UPNP_CD_NS+u'#Browse') l = l.xpath('//cd:BrowseResponse/Result/text()', namespaces={u'cd':UPNP_CD_NS})[0] return etree.fromstring(l)