Пример #1
0
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)
Пример #2
0
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)