coherence.upnp.core.DIDLLite (module)

DIDLLite

Different classes and methods used to represent atomic content objects for DIDL (Digital Item Declaration Language)

Note

For more information about DIDL you can check the wikipedia entry.

Resources

A list of resources, always sorted after an append

Resource

An object representing a resource.

PlayContainerResource

An object representing a DLNA play container resource.

Object

The root class of the entire content directory class hierarchy.

Item

A class used to represent atomic (non-container) content objects.

ImageItem

An item class which represents a image.

Photo

An item class which represents a photo.

AudioItem

An item class which represents a audio.

MusicTrack

An item class which represents a music track.

AudioBroadcast

An item class which represents a audio broadcast.

AudioBook

An item class which represents a audio book.

VideoItem

An item class which represents a video.

Movie

An item class which represents a movie.

VideoBroadcast

An item class which represents a video broadcast.

MusicVideoClip

An item class which represents a music video clip.

PlayListItem

An item class which represents a play list.

TextItem

An item class which represents a text.

Container

An object that can contain other objects.

Person

An container class which represents a Person.

MusicArtist

An container class which represents a Music Artist.

PlaylistContainer

An container class which represents a Play List.

Album

An container class which represents a generic Album.

MusicAlbum

An container class which represents a Music Album.

PhotoAlbum

An container class which represents a Photo Album.

Genre

An container class which represents a generic genre.

MusicGenre

An container class which represents a Music genre.

MovieGenre

An container class which represents a Movie genre.

StorageSystem

An container class which represents a Storage System.

StorageVolume

An container class which represents a Storage Volume.

StorageFolder

An container class which represents a Storage Folder.

DIDLElement

Our element for DIDL (Digital Item Declaration Language).

qname(tag, ns=None)[source]
is_audio(mimetype)[source]

Checks for type audio, expects a mimetype or an UPnP protocolInfo.

is_video(mimetype)[source]

Checks for type video, expects a mimetype or an UPnP protocolInfo.

class Resources[source]

Bases: list

A list of resources, always sorted after an append.

append(object) → None -- append object to end[source]
p_sort(x, y)[source]

We want the following order: http-get is always at the beginning, rtsp-rtp-udp the second and anything else after that.

get_matching(local_protocol_infos, protocol_type=None)[source]
classChooser(mimetype, sub=None)[source]
build_dlna_additional_info(content_format, does_playcontainer=False)[source]
class Resource(data=None, protocol_info=None)[source]

Bases: object

An object representing a resource.

get_additional_info(upnp_client='')[source]
toElement(**kwargs)[source]
fromElement(elt)[source]
toString(**kwargs)[source]
classmethod fromString(_string)[source]
transcoded(format)[source]
class PlayContainerResource(udn, sid='urn:upnp-org:serviceId:ContentDirectory', cid=None, fid=None, fii=0, sc='', md=0, protocol_info=None)[source]

Bases: coherence.upnp.core.DIDLLite.Resource

An object representing a DLNA play container resource.

class Object(id=None, parentID=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.log.LogAble

The root class of the entire content directory class hierarchy.

logCategory = 'didllite'
elementName = None
upnp_class = 'object'
writeStatus = None
date = None
albumArtURI = None
artist = None
genre = None
genres = None
album = None
originalTrackNumber = None
description = None
longDescription = None
refID = None
server_uuid = None
creator = None
res = None
checkUpdate()[source]
toElement(**kwargs)[source]
toString(**kwargs)[source]
fromElement(elt)[source]
classmethod fromString(data)[source]
class Item(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.Object

A class used to represent atomic (non-container) content objects.

upnp_class = 'object.item'
elementName = 'item'
refID = None
director = None
actors = []
language = None
toElement(**kwargs)[source]
fromElement(elt)[source]
class ImageItem(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.Item

upnp_class = 'object.item.imageItem'
rating = None
storageMedium = None
publisher = None
rights = None
toElement(**kwargs)[source]
class Photo(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.ImageItem

upnp_class = 'object.item.imageItem.photo'
album = None
toElement(**kwargs)[source]
class AudioItem(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.Item

A piece of content that when rendered generates some audio.

upnp_class = 'object.item.audioItem'
publisher = None
language = None
relation = None
rights = None
valid_keys = ['genre', 'description', 'longDescription', 'publisher', 'language', 'relation', 'rights', 'albumArtURI']
toElement(**kwargs)[source]
fromElement(elt)[source]
class MusicTrack(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.AudioItem

A discrete piece of audio that should be interpreted as music.

upnp_class = 'object.item.audioItem.musicTrack'
album = None
playlist = None
storageMedium = None
contributor = None
toElement(**kwargs)[source]
class AudioBroadcast(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.AudioItem

upnp_class = 'object.item.audioItem.audioBroadcast'
class AudioBook(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.AudioItem

upnp_class = 'object.item.audioItem.audioBook'
class VideoItem(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.Item

upnp_class = 'object.item.videoItem'
valid_attrs = {'producer': 'urn:schemas-upnp-org:metadata-1-0/upnp/', 'publisher': 'http://purl.org/dc/elements/1.1/', 'rating': 'urn:schemas-upnp-org:metadata-1-0/upnp/', 'relation': 'http://purl.org/dc/elements/1.1/'}
toElement(**kwargs)[source]
fromElement(elt)[source]
class Movie(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.VideoItem

upnp_class = 'object.item.videoItem.movie'
class VideoBroadcast(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.VideoItem

upnp_class = 'object.item.videoItem.videoBroadcast'
class MusicVideoClip(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.VideoItem

upnp_class = 'object.item.videoItem.musicVideoClip'
class PlaylistItem(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.Item

upnp_class = 'object.item.playlistItem'
class TextItem(*args, **kwargs)[source]

Bases: coherence.upnp.core.DIDLLite.Item

upnp_class = 'object.item.textItem'
class Container(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Object

An object that can contain other objects.

upnp_class = 'object.container'
elementName = 'container'
childCount = None
createClass = None
searchable = None
toElement(**kwargs)[source]
fromElement(elt)[source]
class Person(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Container

upnp_class = 'object.container.person'
class MusicArtist(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Person

upnp_class = 'object.container.person.musicArtist'
class PlaylistContainer(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Container

upnp_class = 'object.container.playlistContainer'
class Album(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Container

upnp_class = 'object.container.album'
class MusicAlbum(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Album

upnp_class = 'object.container.album.musicAlbum'
class PhotoAlbum(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Album

upnp_class = 'object.container.album.photoAlbum'
class Genre(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Container

upnp_class = 'object.container.genre'
class MusicGenre(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Genre

upnp_class = 'object.container.genre.musicGenre'
class MovieGenre(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Genre

upnp_class = 'object.container.genre.movieGenre'
class StorageSystem(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Container

upnp_class = 'object.container.storageSystem'
class StorageVolume(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Container

upnp_class = 'object.container.storageVolume'
class StorageFolder(id=None, parent_id=None, title=None, restricted=False, creator=None)[source]

Bases: coherence.upnp.core.DIDLLite.Container

upnp_class = 'object.container.storageFolder'
class DIDLElement(upnp_client='', parent_container=None, requested_id=None, transcoding=False)[source]

Bases: coherence.log.LogAble

logCategory = 'didllite'
addContainer(id, parent_id, title, restricted=False)[source]
addItem(item)[source]
rebuild()[source]
numItems()[source]
getItems()[source]
toString()[source]
get_upnp_class(name)[source]
classmethod fromString(data)[source]