coherence.backends.itv_storage (module)¶
-
class
ProxyStream
(uri)[source]¶ Bases:
coherence.upnp.core.utils.ReverseProxyUriResource
,coherence.log.LogAble
-
logCategory
= 'itv'¶
-
stream_url
= None¶
-
-
class
Container
(id, store, parent_id, title)[source]¶ Bases:
coherence.backend.BackendItem
-
get_child_count
()[source]¶ Called by the CDS.
- Returns
the number of its childs - len(childs)
or a Deferred
-
get_path
()[source]¶ Called by the MediaServer web.
- Returns
the filepath where to find the media file that this item does refer to.
-
get_item
()[source]¶ Called by the CDS and the MediaServer web.
- Returns
an UPnP ContentDirectoryServer DIDLLite object
or a Deferred
-
-
class
ITVItem
(store, id, obj, parent)[source]¶ Bases:
coherence.backend.BackendItem
-
logCategory
= 'itv'¶
-
-
class
ITVStore
(server, **kwargs)[source]¶ Bases:
coherence.backend.BackendStore
-
logCategory
= 'itv'¶
-
implements
= ['MediaServer']¶
-
description
= ('Shoutcast TV', 'cexposes the list of video streams from Shoutcast TV.', None)¶
-
options
= [{'option': 'name', 'text': 'Server Name:', 'type': 'string', 'default': 'my media', 'help': 'the name under this MediaServer shall show up with on other UPnP clients'}, {'option': 'version', 'text': 'UPnP Version:', 'type': 'int', 'default': 2, 'enum': (2, 1), 'help': 'the highest UPnP version this MediaServer shall support', 'level': 'advance'}, {'option': 'uuid', 'text': 'UUID Identifier:', 'type': 'string', 'help': 'the unique (UPnP) identifier for this MediaServer, usually automatically set', 'level': 'advance'}, {'option': 'genrelist', 'text': 'Server URL', 'type': 'string', 'default': 'http://www.shoutcast.com/sbin/newtvlister.phtml?service=winamp2&no_compress=1'}]¶
-
get_by_id
(id)[source]¶ - Parameters
id (object) – is the id property of our DIDLLite item
- Returns
None when no matching item for that id is found,
a BackendItem,
or a Deferred
Called by the CDS or the MediaServer web.
Note
if this MediaServer implements containers that can share their content, like ‘all tracks’, ‘album’ and ‘album_of_artist’ (they all have the same track item as content), then the id may be passed by the CDS like this:
‘id@container’ or ‘id@container@container@container…’
therefore a
if isinstance(id, basestring): id = id.split('@',1) id = id[0]
may be appropriate as the first thing to do when entering this method.
-