Class e.p.c.u.UPnPMedia(MediaProvider):

Part of elisa.plugins.coherence.upnp_media View In Hierarchy

No class docstring
Line # Kind Name Docs
43 Method __init__ Undocumented
48 Method initialize Initialize the component.
180 Method store_in_cache Undocumented
191 Method get_from_cache Undocumented
207 Method scannable_uri_schemes__get Retrieve the URI schemes that can be scanned by the
212 Method supported_uri_schemes__get Retrieve the URI schemes supported by the provider, for each
226 Method get_real_uri Returns the original uri (acesable) from a virtual
244 Method has_children_with_types Same as _blocking_has_children_with_types but without blocking (in
273 Method get_direct_children Same as _blocking_get_direct_children but without blocking (in
332 Method open Same as _blocking_open but without blocking (in

Inherited from MediaProvider:

Line # Kind Name Docs
124 Method get_media_type Same as blocking_get_media_type but without blocking (in
156 Method is_directory Same as _blocking_is_directory but without blocking (in
193 Method _blocking_has_children_with_types Detect whether the given uri has children for given media
222 Method _blocking_get_direct_children Scan the data located at given uri and return informations
269 Method _blocking_open Open an uri and return MediaFile.
286 Method close Same as _blocking_close but without blocking (in
298 Method _blocking_close Close a MediaFile
308 Method seek Same as _blocking_seek but without blocking (in
325 Method _blocking_seek Seek data in a MediaFile
339 Method read Same as _blocking_seek but without blocking (in
353 Method _blocking_read Read data from a MediaFile
371 Method next_location Same as _blocking_next_location but without blocking (in
386 Method _blocking_next_location Return the uri just next to given uri.
399 Method previous_location Same as _blocking_previous_location but without blocking (in
412 Method _blocking_previous_location Return the uri found before given uri
422 Method monitor_uri Start monitoring given uri for modification and call a
441 Method unmonitor_uri Stop monitoring given uri.
450 Method uri_is_monitorable Check if the uri is monitorable for modification
461 Method uri_is_monitored Check if the uri is currently monitored for modification
473 Method copy Copy one location to another. If both URIs represent a
492 Method move Move data located at given URI to another URI. If orig_uri
509 Method delete Delete a resource located at given URI. If that URI represents

Inherited from Component (via MediaProvider):

Line # Kind Name Docs
85 Class PathDescriptor Undocumented
97 Class Method create Create and initialize the component.
142 Method clean Clean the component.
def __init__(self):
Undocumented
def initialize(self):

Initialize the component.

This method is called by Component.create to finish the initialization of a component.
Returnsa deferred called when a component is fully initialized (type: twisted.internet.defer.Deferred )
def store_in_cache(self, control_url, container_id, friendly_name, data, client=None):
Undocumented
def get_from_cache(self, control_url, container_id):
Undocumented
def scannable_uri_schemes__get(self):

Retrieve the URI schemes that can be scanned by the media_scanner. Since media scanning can be an heavy and long task the MediaProvider developer can choose to make the media_scanner skip URIs with scheme not appearing in returned list.

By default the return value of this method corresponds to the keys of supported_uri_schemes__get return value.

# FIXME: this should be documented in the class docstring as a class # variable
def supported_uri_schemes__get(self):

Retrieve the URI schemes supported by the provider, for each scheme there's a priority. Higher priority == 0 means the provider will always be used to read data from a given scheme.

This function is called by the MediaManager to know which media provider it has to use to access a specified URI. You should return a dict containing the uri scheme (such as 'file', 'cdda', ...) and its priority between 0 to 255 (0 being the topmost priority). The prority is used by the MediaManager to know which media provider it should use in case there are more than one who support the desired uri scheme. You might have for example a component which supports more than one scheme, but the support of one of them is not very efficient compared to what it could be. In this case you could modify its priority to tell the MediaManager that another component should be used instead of it to access this scheme.

example: { 'file': 0, 'smb': 10 }

# FIXME: this should be documented in the class docstring as a class # variable
def get_real_uri(self, uri):
Returns the original uri (acesable) from a virtual uri representation.
Parametersurithe URI to validate (type: elisa.core.media_uri.MediaUri )
Returns (type: elisa.core.media_uri.MediaUri )
def has_children_with_types(self, uri, media_types):
Same as _blocking_has_children_with_types but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using _blocking_has_children_with_types result.
Parametersurithe URI to scan (type: elisa.core.media_uri.MediaUri )
media_typesthe media_types to look for on the directory (type: list of strings )
Returns (type: twisted.internet.defer.Deferred )
def get_direct_children(self, uri, children):
Same as _blocking_get_direct_children but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using _blocking_get_direct_children result.
Parametersurithe URI to analyze (type: elisa.core.media_uri.MediaUri )
children_with_infoList where the children will be appended (type: list )
Returns (type: twisted.internet.defer.Deferred )
def open(self, uri, mode=None):
Same as _blocking_open but without blocking (in theory). This method by default triggers a succeeded callback on a Twisted deferred, using _blocking_open result.
Parametersurithe URI to open (type: elisa.core.media_uri.MediaUri )
modehow to open the file -- see manual of builtin open() (type: string or None )
Returns (type: twisted.internet.defer.Deferred )
NoteIt's not allowed to open directories, it's up to the developer to check that the URI to open doesn't represent a directory.
API Documentation for Elisa Media Center, generated by pydoctor at 2008-08-25 19:17:22.