Class e.p.d.d.DaapResourceProvider(ResourceProvider):

Part of elisa.plugins.daap.daap_resource_provider View In Hierarchy

No class docstring
Line # Kind Name Docs
44 Method __init__ Undocumented
176 Method get This method allows you to get a model for your uri. The
49 Method _store_in_cache Undocumented
53 Method _get_artists Undocumented
64 Method _get_cached_artist Undocumented
84 Method _get_cached_album Undocumented
98 Method _parse_artists Undocumented
150 Method _get_playable_model Undocumented
161 Method _parse_databases Undocumented

Inherited from ResourceProvider:

Line # Kind Name Docs
103 Method post Update the resource pointed by uri with parameters.
116 Method put Put one resource into another. Both resources are identified with URIs.
138 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.
130 Method initialize Initialize the component.
142 Method clean Clean the component.
def __init__(self):
Undocumented
def _store_in_cache(self, model, uri):
Undocumented
def _get_artists(self, uri, connection, model):
Undocumented
def _get_cached_artist(self, uri, model, artist_name):
Undocumented
def _get_cached_album(self, uri, model, album_name):
Undocumented
def _parse_artists(self, connection, uri, songs_model, artists_list_model):
Undocumented
def _get_playable_model(self, connection, db_uri, song_model):
Undocumented
def _parse_databases(self, databases, connection, uri, model):
Undocumented
def get(self, uri, context_model=None):
This method allows you to get a model for your uri. The context_model is always ignored. The model has to fit to the given URI (see list below). If there is no port given in the URI this method uses the default port 3689.

If there is no open connection to the given combination of server+port, this method creates a elisa.plugins.daap.daap_connection.DaapConnection, tries to login and does the request afterwards.

You always have to wait for request to be finished because it could raise a elisa.plugins.daap.daap_connection.LoginFailed to inform you that it needs different login credentials. You should retry again with another password.

For each response you do, the path is used to fetch the data on the given server. For each one of them the DaapConnection is fetching all the information specified in the corresponding model (including filling all the lists). The different models you get for the different paths that you can have in the URI are:

   /server-info
           L{elisa.plugins.daap.models.DaapServerInfoModel}
   /databases
           L{elisa.plugins.daap.models.DaapDatabaseListModel}
   /databases/<id>/items
           L{elisa.plugins.daap.models.DaapSongListModel}
   /databases/<id>/containers
           L{elisa.plugins.daap.models.DaapPlaylistListModel}
   /databases/<id>/containers/<id>/items
           L{elisa.plugins.daap.models.DaapPlaylistModel}

   /artists
           L{elisa.plugins.daap.models.DaapArtistListModel}
   /artist/name
           L[elisa.plugins.daap.models.DaapArtistModel}
   /album/name
           L{elisa.plugins.daap.models.DaapAlbumModel}

FIXME: the uri to the media itself is missing :(

API Documentation for Elisa Media Center, generated by pydoctor at 2009-02-16 19:15:05.