# Class e.p.c.u.UpnpResource(ResourceProvider):

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

Resource provider responsible for UPnP MediaServer browsing, using the Coherence UPnP framework.

This resource_provider doesn't depend on the `elisa.plugins.coherence.coherence_resource` resource_provider but it's good to have both if the application needs both UPnP discovery and browsing of MediaServers.

Line # | Kind | Name | Docs
--- | --- | --- | ---
60 | Method | initialize | Initialize the component.
152 | Method | get | Browse a MediaServer located on given UPnP device and

Inherited from ResourceProvider:

Line # | Kind | Name | Docs
--- | --- | --- | ---
94 | Method | post | Update the resource pointed by `uri` with `parameters`.
107 | Method | put | Put one resource into another. Both resources are identified with URIs.
129 | Method | delete | Delete a Resource represented by a URI.

Inherited from Component (via ResourceProvider):

Line # | Kind | Name | Docs
--- | --- | --- | ---
85 | Class | PathDescriptor | Undocumented
97 | Class Method | create | Create and initialize the component.
142 | Method | clean | Clean the component.

Inherited from Loggable (via ResourceProvider, Component):

Line # | Kind | Name | Docs
--- | --- | --- | ---
81 | Method | __init__ | Undocumented

def initialize(self):
overrides elisa.core.component.Component.initialize

Initialize the component.

This method is called by `Component.create` to finish the initialization of a component.

Returns | a deferred called when a component is fully initialized (type: `twisted.internet.defer.Deferred` )

def get(self, uri, context_model=None):
overrides elisa.core.components.resource_provider.ResourceProvider.get

Browse a MediaServer located on given UPnP device and service. Device and service ids are specified in the URI like this:

upnp://device_uuid?sid=service_uuid#container_id

The container_id is optional. If not specified we assume it is equal to 0.

example URI:

:

      upnp://1ce86a92-8676-4336-bb6f-a08217aadaf2?sid=10f4322f-8b45-4f79-8659-6f66b59c6a38#1

Model returned is always a `elisa.plugins.coherence.models.UpnpModel` instance with items list containing various other `elisa.plugins.coherence.models.UpnpContainerModel` and/or `elisa.plugins.coherence.models.UpnpItemModel` depending on the container being browsed.