diff --git a/docs/api-objects.txt b/docs/api-objects.txt index 5c252d3..10f96f9 100644 --- a/docs/api-objects.txt +++ b/docs/api-objects.txt @@ -1,15 +1,25 @@ lastfm lastfm-module.html lastfm.__package__ lastfm-module.html#__package__ lastfm.album lastfm.album-module.html +lastfm.album.cached_property lastfm.decorators-module.html#cached_property +lastfm.album.top_property lastfm.decorators-module.html#top_property lastfm.album.__package__ lastfm.album-module.html#__package__ lastfm.api lastfm.api-module.html lastfm.api.__package__ lastfm.api-module.html#__package__ +lastfm.api.cached_property lastfm.decorators-module.html#cached_property lastfm.api.md5hash lastfm.api-module.html#md5hash lastfm.artist lastfm.artist-module.html lastfm.artist.lazylist lastfm.lazylist-module.html#lazylist +lastfm.artist.top_property lastfm.decorators-module.html#top_property lastfm.artist.__package__ lastfm.artist-module.html#__package__ +lastfm.artist.cached_property lastfm.decorators-module.html#cached_property lastfm.base lastfm.base-module.html lastfm.base.__package__ lastfm.base-module.html#__package__ +lastfm.decorators lastfm.decorators-module.html +lastfm.decorators.authenticate lastfm.decorators-module.html#authenticate +lastfm.decorators.__package__ lastfm.decorators-module.html#__package__ +lastfm.decorators.top_property lastfm.decorators-module.html#top_property +lastfm.decorators.cached_property lastfm.decorators-module.html#cached_property lastfm.error lastfm.error-module.html lastfm.error.error_map lastfm.error-module.html#error_map lastfm.error.__package__ lastfm.error-module.html#__package__ @@ -20,9 +30,13 @@ lastfm.filecache.md5hash lastfm.filecache-module.html#md5hash lastfm.filecache.__package__ lastfm.filecache-module.html#__package__ lastfm.geo lastfm.geo-module.html lastfm.geo.lazylist lastfm.lazylist-module.html#lazylist +lastfm.geo.cached_property lastfm.decorators-module.html#cached_property +lastfm.geo.top_property lastfm.decorators-module.html#top_property lastfm.geo.__package__ lastfm.geo-module.html#__package__ lastfm.group lastfm.group-module.html lastfm.group.lazylist lastfm.lazylist-module.html#lazylist +lastfm.group.cached_property lastfm.decorators-module.html#cached_property +lastfm.group.top_property lastfm.decorators-module.html#top_property lastfm.group.__package__ lastfm.group-module.html#__package__ lastfm.lazylist lastfm.lazylist-module.html lastfm.lazylist.lazylist lastfm.lazylist-module.html#lazylist @@ -35,34 +49,49 @@ lastfm.mixins.searchable lastfm.mixins.searchable-module.html lastfm.mixins.searchable.lazylist lastfm.lazylist-module.html#lazylist lastfm.mixins.searchable.__package__ lastfm.mixins.searchable-module.html#__package__ lastfm.mixins.sharable lastfm.mixins.sharable-module.html +lastfm.mixins.sharable.authenticate lastfm.decorators-module.html#authenticate lastfm.mixins.sharable.__package__ lastfm.mixins.sharable-module.html#__package__ lastfm.mixins.shoutable lastfm.mixins.shoutable-module.html +lastfm.mixins.shoutable.top_property lastfm.decorators-module.html#top_property +lastfm.mixins.shoutable.cached_property lastfm.decorators-module.html#cached_property lastfm.mixins.shoutable.__package__ lastfm.mixins.shoutable-module.html#__package__ lastfm.mixins.taggable lastfm.mixins.taggable-module.html +lastfm.mixins.taggable.cached_property lastfm.decorators-module.html#cached_property +lastfm.mixins.taggable.authenticate lastfm.decorators-module.html#authenticate lastfm.mixins.taggable.__package__ lastfm.mixins.taggable-module.html#__package__ lastfm.objectcache lastfm.objectcache-module.html lastfm.objectcache.__package__ lastfm.objectcache-module.html#__package__ lastfm.playlist lastfm.playlist-module.html +lastfm.playlist.cached_property lastfm.decorators-module.html#cached_property lastfm.playlist.__package__ lastfm.playlist-module.html#__package__ lastfm.safelist lastfm.safelist-module.html lastfm.safelist.__package__ lastfm.safelist-module.html#__package__ lastfm.shout lastfm.shout-module.html +lastfm.shout.cached_property lastfm.decorators-module.html#cached_property lastfm.shout.__package__ lastfm.shout-module.html#__package__ lastfm.stats lastfm.stats-module.html lastfm.stats.__package__ lastfm.stats-module.html#__package__ lastfm.tag lastfm.tag-module.html +lastfm.tag.cached_property lastfm.decorators-module.html#cached_property lastfm.tag.lazylist lastfm.lazylist-module.html#lazylist +lastfm.tag.top_property lastfm.decorators-module.html#top_property lastfm.tag.__package__ lastfm.tag-module.html#__package__ lastfm.tasteometer lastfm.tasteometer-module.html lastfm.tasteometer.__package__ lastfm.tasteometer-module.html#__package__ lastfm.track lastfm.track-module.html lastfm.track.lazylist lastfm.lazylist-module.html#lazylist +lastfm.track.top_property lastfm.decorators-module.html#top_property lastfm.track.__package__ lastfm.track-module.html#__package__ +lastfm.track.cached_property lastfm.decorators-module.html#cached_property lastfm.user lastfm.user-module.html lastfm.user.lazylist lastfm.lazylist-module.html#lazylist +lastfm.user.authenticate lastfm.decorators-module.html#authenticate lastfm.user.__package__ lastfm.user-module.html#__package__ +lastfm.user.cached_property lastfm.decorators-module.html#cached_property +lastfm.user.top_property lastfm.decorators-module.html#top_property lastfm.venue lastfm.venue-module.html lastfm.venue.lazylist lastfm.lazylist-module.html#lazylist +lastfm.venue.cached_property lastfm.decorators-module.html#cached_property lastfm.venue.__package__ lastfm.venue-module.html#__package__ lastfm.weeklychart lastfm.weeklychart-module.html lastfm.weeklychart.__package__ lastfm.weeklychart-module.html#__package__ @@ -77,17 +106,14 @@ lastfm.album.Album.__lt__ lastfm.album.Album-class.html#__lt__ lastfm.album.Album.top_tag lastfm.album.Album-class.html#top_tag lastfm.album.Album.id lastfm.album.Album-class.html#id lastfm.album.Album.playlist lastfm.album.Album-class.html#playlist -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.album.Album.stats lastfm.album.Album-class.html#stats lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.album.Album.top_tags lastfm.album.Album-class.html#top_tags lastfm.album.Album.init lastfm.album.Album-class.html#init lastfm.album.Album._fill_info lastfm.album.Album-class.html#_fill_info lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ lastfm.album.Album._default_params lastfm.album.Album-class.html#_default_params -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.album.Album._fetch_data lastfm.album.Album-class.html#_fetch_data lastfm.album.Album._search_yield_func lastfm.album.Album-class.html#_search_yield_func lastfm.mixins.taggable.Taggable.add_tags lastfm.mixins.taggable.Taggable-class.html#add_tags @@ -144,6 +170,7 @@ lastfm.api.Api.compare_taste lastfm.api.Api-class.html#compare_taste lastfm.api.Api.get_playlist lastfm.api.Api-class.html#get_playlist lastfm.api.Api.get_country lastfm.api.Api-class.html#get_country lastfm.api.Api._initialize_user_agent lastfm.api.Api-class.html#_initialize_user_agent +lastfm.api.Api.set_secret lastfm.api.Api-class.html#set_secret lastfm.api.Api.get_authenticated_user lastfm.api.Api-class.html#get_authenticated_user lastfm.api.Api._fetch_url lastfm.api.Api-class.html#_fetch_url lastfm.api.Api._encode_parameters lastfm.api.Api-class.html#_encode_parameters @@ -169,10 +196,8 @@ lastfm.artist.Artist._hash_func lastfm.artist.Artist-class.html#_hash_func lastfm.artist.Artist.__lt__ lastfm.artist.Artist-class.html#__lt__ lastfm.artist.Artist.top_tag lastfm.artist.Artist-class.html#top_tag lastfm.artist.Artist.streamable lastfm.artist.Artist-class.html#streamable -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.artist.Artist.stats lastfm.artist.Artist-class.html#stats lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.artist.Artist.get_similar lastfm.artist.Artist-class.html#get_similar lastfm.artist.Artist.top_tags lastfm.artist.Artist-class.html#top_tags @@ -184,7 +209,6 @@ lastfm.artist.Artist.__repr__ lastfm.artist.Artist-class.html#__repr__ lastfm.artist.Artist.bio lastfm.artist.Artist-class.html#bio lastfm.mixins.taggable.Taggable.remove_tag lastfm.mixins.taggable.Taggable-class.html#remove_tag lastfm.artist.Artist._default_params lastfm.artist.Artist-class.html#_default_params -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.artist.Artist._fetch_data lastfm.artist.Artist-class.html#_fetch_data lastfm.artist.Artist._search_yield_func lastfm.artist.Artist-class.html#_search_yield_func lastfm.mixins.taggable.Taggable.add_tags lastfm.mixins.taggable.Taggable-class.html#add_tags @@ -207,9 +231,6 @@ lastfm.artist.Artist.similar lastfm.artist.Artist-class.html#similar lastfm.base.LastfmBase.__ge__ lastfm.base.LastfmBase-class.html#__ge__ lastfm.base.LastfmBase lastfm.base.LastfmBase-class.html lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.base.LastfmBase.__le__ lastfm.base.LastfmBase-class.html#__le__ lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ lastfm.base.LastfmBase.__ge__ lastfm.base.LastfmBase-class.html#__ge__ @@ -299,12 +320,9 @@ lastfm.event.Event.artists lastfm.event.Event-class.html#artists lastfm.event.Event.__lt__ lastfm.event.Event-class.html#__lt__ lastfm.event.Event.headliner lastfm.event.Event-class.html#headliner lastfm.event.Event.id lastfm.event.Event-class.html#id -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.event.Event.stats lastfm.event.Event-class.html#stats lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ lastfm.event.Event.title lastfm.event.Event-class.html#title -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.event.Event.init lastfm.event.Event-class.html#init lastfm.base.LastfmBase.__le__ lastfm.base.LastfmBase-class.html#__le__ @@ -345,16 +363,13 @@ lastfm.geo.Country.ISO_CODES lastfm.geo.Country-class.html#ISO_CODES lastfm.geo.Country._hash_func lastfm.geo.Country-class.html#_hash_func lastfm.geo.Country.__lt__ lastfm.geo.Country-class.html#__lt__ lastfm.geo.Country.get_top_tracks lastfm.geo.Country-class.html#get_top_tracks -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ lastfm.geo.Country.top_artists lastfm.geo.Country-class.html#top_artists -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.geo.Country.init lastfm.geo.Country-class.html#init lastfm.geo.Country.events lastfm.geo.Country-class.html#events lastfm.geo.Country.top_artist lastfm.geo.Country-class.html#top_artist lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.geo.Country.top_track lastfm.geo.Country-class.html#top_track lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ @@ -377,16 +392,13 @@ lastfm.geo.Location._hash_func lastfm.geo.Location-class.html#_hash_func lastfm.geo.Location.timezone lastfm.geo.Location-class.html#timezone lastfm.geo.Location.__lt__ lastfm.geo.Location-class.html#__lt__ lastfm.geo.Location.city lastfm.geo.Location-class.html#city -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.geo.Location.init lastfm.geo.Location-class.html#init lastfm.geo.Location.latitude lastfm.geo.Location-class.html#latitude lastfm.geo.Location.events lastfm.geo.Location-class.html#events lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ lastfm.geo.Location.XMLNS lastfm.geo.Location-class.html#XMLNS -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.geo.Location.top_track lastfm.geo.Location-class.html#top_track lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ @@ -408,14 +420,11 @@ lastfm.group.Group.recent_weekly_album_chart lastfm.group.Group-class.html#recen lastfm.group.Group.__lt__ lastfm.group.Group-class.html#__lt__ lastfm.group.Group.weekly_chart_list lastfm.group.Group-class.html#weekly_chart_list lastfm.group.Group.recent_weekly_track_chart lastfm.group.Group-class.html#recent_weekly_track_chart -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.group.Group.init lastfm.group.Group-class.html#init lastfm.group.Group.get_weekly_track_chart lastfm.group.Group-class.html#get_weekly_track_chart lastfm.group.Group._default_params lastfm.group.Group-class.html#_default_params -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.group.Group.recent_weekly_artist_chart lastfm.group.Group-class.html#recent_weekly_artist_chart lastfm.group.Group.weekly_album_chart_list lastfm.group.Group-class.html#weekly_album_chart_list lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry @@ -480,14 +489,11 @@ lastfm.objectcache.ObjectCache.__repr__ lastfm.objectcache.ObjectCache-class.htm lastfm.playlist.Playlist lastfm.playlist.Playlist-class.html lastfm.playlist.Playlist._hash_func lastfm.playlist.Playlist-class.html#_hash_func lastfm.playlist.Playlist.__lt__ lastfm.playlist.Playlist-class.html#__lt__ -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.playlist.Playlist.data lastfm.playlist.Playlist-class.html#data lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.playlist.Playlist.init lastfm.playlist.Playlist-class.html#init lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ lastfm.playlist.Playlist.__eq__ lastfm.playlist.Playlist-class.html#__eq__ @@ -512,15 +518,12 @@ lastfm.safelist.SafeList.__repr__ lastfm.safelist.SafeList-class.html#__repr__ lastfm.shout.Shout lastfm.shout.Shout-class.html lastfm.shout.Shout._hash_func lastfm.shout.Shout-class.html#_hash_func lastfm.shout.Shout.__lt__ lastfm.shout.Shout-class.html#__lt__ -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ lastfm.shout.Shout.author lastfm.shout.Shout-class.html#author -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.shout.Shout.init lastfm.shout.Shout-class.html#init lastfm.shout.Shout.body lastfm.shout.Shout-class.html#body lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ lastfm.shout.Shout.date lastfm.shout.Shout-class.html#date @@ -550,11 +553,9 @@ lastfm.tag.Tag._hash_func lastfm.tag.Tag-class.html#_hash_func lastfm.tag.Tag.__lt__ lastfm.tag.Tag-class.html#__lt__ lastfm.tag.Tag.weekly_chart_list lastfm.tag.Tag-class.html#weekly_chart_list lastfm.tag.Tag.playlist lastfm.tag.Tag-class.html#playlist -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.tag.Tag.stats lastfm.tag.Tag-class.html#stats lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ lastfm.tag.Tag.top_artists lastfm.tag.Tag-class.html#top_artists -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.tag.Tag.top_track lastfm.tag.Tag-class.html#top_track lastfm.tag.Tag.init lastfm.tag.Tag-class.html#init @@ -562,7 +563,6 @@ lastfm.tag.Tag.get_top_tags lastfm.tag.Tag-class.html#get_top_tags lastfm.tag.Tag.top_artist lastfm.tag.Tag-class.html#top_artist lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ lastfm.tag.Tag._default_params lastfm.tag.Tag-class.html#_default_params -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.tag.Tag.recent_weekly_artist_chart lastfm.tag.Tag-class.html#recent_weekly_artist_chart lastfm.tag.Tag._search_yield_func lastfm.tag.Tag-class.html#_search_yield_func lastfm.tag.Tag.streamable lastfm.tag.Tag-class.html#streamable @@ -607,10 +607,8 @@ lastfm.track.Track.top_tag lastfm.track.Track-class.html#top_tag lastfm.track.Track.id lastfm.track.Track-class.html#id lastfm.track.Track.album lastfm.track.Track-class.html#album lastfm.track.Track.streamable lastfm.track.Track-class.html#streamable -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.track.Track.stats lastfm.track.Track-class.html#stats lastfm.track.Track.full_track lastfm.track.Track-class.html#full_track -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.track.Track.top_tags lastfm.track.Track-class.html#top_tags lastfm.track.Track.init lastfm.track.Track-class.html#init @@ -618,7 +616,6 @@ lastfm.track.Track.__repr__ lastfm.track.Track-class.html#__repr__ lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ lastfm.mixins.taggable.Taggable.remove_tag lastfm.mixins.taggable.Taggable-class.html#remove_tag lastfm.track.Track._default_params lastfm.track.Track-class.html#_default_params -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.track.Track._fetch_data lastfm.track.Track-class.html#_fetch_data lastfm.track.Track._search_yield_func lastfm.track.Track-class.html#_search_yield_func lastfm.mixins.taggable.Taggable.add_tags lastfm.mixins.taggable.Taggable-class.html#add_tags @@ -647,7 +644,6 @@ lastfm.mixins.shoutable.Shoutable.shouts lastfm.mixins.shoutable.Shoutable-class lastfm.user.User.__lt__ lastfm.user.User-class.html#__lt__ lastfm.user.User.most_recent_track lastfm.user.User-class.html#most_recent_track lastfm.user.User.top_artists lastfm.user.User-class.html#top_artists -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.user.User.init lastfm.user.User-class.html#init lastfm.user.User.recommended_events lastfm.user.User-class.html#recommended_events lastfm.user.User.get_top_tags lastfm.user.User-class.html#get_top_tags @@ -667,18 +663,17 @@ lastfm.user.User.get_neighbours lastfm.user.User-class.html#get_neighbours lastfm.user.User.top_albums lastfm.user.User-class.html#top_albums lastfm.user.User.top_tracks lastfm.user.User-class.html#top_tracks lastfm.user.User.Playlist lastfm.user.User.Playlist-class.html -lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ +lastfm.user.User.get_weekly_track_chart lastfm.user.User-class.html#get_weekly_track_chart lastfm.user.User.library lastfm.user.User-class.html#library lastfm.user.User.top_album lastfm.user.User-class.html#top_album lastfm.user.User.get_info lastfm.user.User-class.html#get_info lastfm.user.User.get_weekly_album_chart lastfm.user.User-class.html#get_weekly_album_chart lastfm.user.User.top_tag lastfm.user.User-class.html#top_tag lastfm.user.User.get_top_tracks lastfm.user.User-class.html#get_top_tracks -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.user.User.stats lastfm.user.User-class.html#stats lastfm.user.User.top_tags lastfm.user.User-class.html#top_tags lastfm.user.User.recent_weekly_tag_chart lastfm.user.User-class.html#recent_weekly_tag_chart -lastfm.user.User.get_weekly_track_chart lastfm.user.User-class.html#get_weekly_track_chart +lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ lastfm.user.User._default_params lastfm.user.User-class.html#_default_params lastfm.user.User.get_friends lastfm.user.User-class.html#get_friends lastfm.user.User.language lastfm.user.User-class.html#language @@ -691,9 +686,7 @@ lastfm.user.User.recent_weekly_album_chart lastfm.user.User-class.html#recent_we lastfm.user.User.weekly_chart_list lastfm.user.User-class.html#weekly_chart_list lastfm.user.User.neighbours lastfm.user.User-class.html#neighbours lastfm.user.User.subscriber lastfm.user.User-class.html#subscriber -lastfm.user.User.autheticated lastfm.user.User-class.html#autheticated lastfm.user.User.get_recommended_events lastfm.user.User-class.html#get_recommended_events -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.user.User.top_track lastfm.user.User-class.html#top_track lastfm.user.User.__eq__ lastfm.user.User-class.html#__eq__ lastfm.user.User.past_events lastfm.user.User-class.html#past_events @@ -708,6 +701,7 @@ lastfm.user.User.compare lastfm.user.User-class.html#compare lastfm.user.User.playlists lastfm.user.User-class.html#playlists lastfm.user.User.get_weekly_tag_chart lastfm.user.User-class.html#get_weekly_tag_chart lastfm.user.User.recent_weekly_track_chart lastfm.user.User-class.html#recent_weekly_track_chart +lastfm.user.User.authenticated lastfm.user.User-class.html#authenticated lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.user.User.weekly_album_chart_list lastfm.user.User-class.html#weekly_album_chart_list @@ -744,15 +738,12 @@ lastfm.playlist.Playlist.__lt__ lastfm.playlist.Playlist-class.html#__lt__ lastfm.user.User.Playlist.id lastfm.user.User.Playlist-class.html#id lastfm.user.User.Playlist.size lastfm.user.User.Playlist-class.html#size lastfm.user.User.Playlist.add_track lastfm.user.User.Playlist-class.html#add_track -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ lastfm.user.User.Playlist.title lastfm.user.User.Playlist-class.html#title -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.playlist.Playlist.data lastfm.playlist.Playlist-class.html#data lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.user.User.Playlist.init lastfm.user.User.Playlist-class.html#init lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.user.User.Playlist.user lastfm.user.User.Playlist-class.html#user lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ lastfm.user.User.Playlist.date lastfm.user.User.Playlist-class.html#date @@ -770,9 +761,7 @@ lastfm.mixins.cacheable.Cacheable.register lastfm.mixins.cacheable.Cacheable-cla lastfm.venue.Venue._hash_func lastfm.venue.Venue-class.html#_hash_func lastfm.venue.Venue.__lt__ lastfm.venue.Venue-class.html#__lt__ lastfm.venue.Venue.id lastfm.venue.Venue-class.html#id -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.venue.Venue.init lastfm.venue.Venue-class.html#init lastfm.venue.Venue.location lastfm.venue.Venue-class.html#location @@ -780,7 +769,6 @@ lastfm.venue.Venue.events lastfm.venue.Venue-class.html#events lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ lastfm.venue.Venue.get_past_events lastfm.venue.Venue-class.html#get_past_events lastfm.venue.Venue._default_params lastfm.venue.Venue-class.html#_default_params -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.venue.Venue._search_yield_func lastfm.venue.Venue-class.html#_search_yield_func lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ @@ -797,16 +785,13 @@ lastfm.weeklychart.WeeklyAlbumChart lastfm.weeklychart.WeeklyAlbumChart-class.ht lastfm.weeklychart.WeeklyChart._hash_func lastfm.weeklychart.WeeklyChart-class.html#_hash_func lastfm.weeklychart.WeeklyChart.__lt__ lastfm.weeklychart.WeeklyChart-class.html#__lt__ lastfm.weeklychart.WeeklyChart.subject lastfm.weeklychart.WeeklyChart-class.html#subject -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.weeklychart.WeeklyChart.end lastfm.weeklychart.WeeklyChart-class.html#end lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.weeklychart.WeeklyChart.start lastfm.weeklychart.WeeklyChart-class.html#start lastfm.weeklychart.WeeklyAlbumChart.init lastfm.weeklychart.WeeklyAlbumChart-class.html#init lastfm.weeklychart.WeeklyChart._check_weekly_chart_params lastfm.weeklychart.WeeklyChart-class.html#_check_weekly_chart_params lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ lastfm.weeklychart.WeeklyChart.stats lastfm.weeklychart.WeeklyChart-class.html#stats @@ -823,16 +808,13 @@ lastfm.weeklychart.WeeklyChart._hash_func lastfm.weeklychart.WeeklyChart-class.h lastfm.weeklychart.WeeklyArtistChart.artists lastfm.weeklychart.WeeklyArtistChart-class.html#artists lastfm.weeklychart.WeeklyChart.__lt__ lastfm.weeklychart.WeeklyChart-class.html#__lt__ lastfm.weeklychart.WeeklyChart.subject lastfm.weeklychart.WeeklyChart-class.html#subject -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.weeklychart.WeeklyChart.end lastfm.weeklychart.WeeklyChart-class.html#end lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.weeklychart.WeeklyChart.start lastfm.weeklychart.WeeklyChart-class.html#start lastfm.weeklychart.WeeklyArtistChart.init lastfm.weeklychart.WeeklyArtistChart-class.html#init lastfm.weeklychart.WeeklyChart._check_weekly_chart_params lastfm.weeklychart.WeeklyChart-class.html#_check_weekly_chart_params lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ lastfm.weeklychart.WeeklyChart.stats lastfm.weeklychart.WeeklyChart-class.html#stats @@ -847,16 +829,13 @@ lastfm.weeklychart.WeeklyChart lastfm.weeklychart.WeeklyChart-class.html lastfm.weeklychart.WeeklyChart._hash_func lastfm.weeklychart.WeeklyChart-class.html#_hash_func lastfm.weeklychart.WeeklyChart.__lt__ lastfm.weeklychart.WeeklyChart-class.html#__lt__ lastfm.weeklychart.WeeklyChart.subject lastfm.weeklychart.WeeklyChart-class.html#subject -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.weeklychart.WeeklyChart.end lastfm.weeklychart.WeeklyChart-class.html#end lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.weeklychart.WeeklyChart.start lastfm.weeklychart.WeeklyChart-class.html#start lastfm.weeklychart.WeeklyChart.init lastfm.weeklychart.WeeklyChart-class.html#init lastfm.weeklychart.WeeklyChart._check_weekly_chart_params lastfm.weeklychart.WeeklyChart-class.html#_check_weekly_chart_params lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ lastfm.weeklychart.WeeklyChart.stats lastfm.weeklychart.WeeklyChart-class.html#stats @@ -871,16 +850,13 @@ lastfm.weeklychart.WeeklyTagChart lastfm.weeklychart.WeeklyTagChart-class.html lastfm.weeklychart.WeeklyChart._hash_func lastfm.weeklychart.WeeklyChart-class.html#_hash_func lastfm.weeklychart.WeeklyChart.__lt__ lastfm.weeklychart.WeeklyChart-class.html#__lt__ lastfm.weeklychart.WeeklyChart.subject lastfm.weeklychart.WeeklyChart-class.html#subject -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.weeklychart.WeeklyChart.end lastfm.weeklychart.WeeklyChart-class.html#end lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.weeklychart.WeeklyChart.start lastfm.weeklychart.WeeklyChart-class.html#start lastfm.weeklychart.WeeklyTagChart.init lastfm.weeklychart.WeeklyTagChart-class.html#init lastfm.weeklychart.WeeklyChart._check_weekly_chart_params lastfm.weeklychart.WeeklyChart-class.html#_check_weekly_chart_params lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.weeklychart.WeeklyTagChart.tags lastfm.weeklychart.WeeklyTagChart-class.html#tags lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ @@ -896,16 +872,13 @@ lastfm.weeklychart.WeeklyTrackChart lastfm.weeklychart.WeeklyTrackChart-class.ht lastfm.weeklychart.WeeklyChart._hash_func lastfm.weeklychart.WeeklyChart-class.html#_hash_func lastfm.weeklychart.WeeklyChart.__lt__ lastfm.weeklychart.WeeklyChart-class.html#__lt__ lastfm.weeklychart.WeeklyChart.subject lastfm.weeklychart.WeeklyChart-class.html#subject -lastfm.base.LastfmBase.top_property lastfm.base.LastfmBase-class.html#top_property lastfm.weeklychart.WeeklyChart.end lastfm.weeklychart.WeeklyChart-class.html#end lastfm.mixins.cacheable.Cacheable.__new__ lastfm.mixins.cacheable.Cacheable-class.html#__new__ -lastfm.base.LastfmBase.autheticate lastfm.base.LastfmBase-class.html#autheticate lastfm.mixins.cacheable.Cacheable._lock lastfm.mixins.cacheable.Cacheable-class.html#_lock lastfm.weeklychart.WeeklyChart.start lastfm.weeklychart.WeeklyChart-class.html#start lastfm.weeklychart.WeeklyTrackChart.init lastfm.weeklychart.WeeklyTrackChart-class.html#init lastfm.weeklychart.WeeklyChart._check_weekly_chart_params lastfm.weeklychart.WeeklyChart-class.html#_check_weekly_chart_params lastfm.base.LastfmBase.__ne__ lastfm.base.LastfmBase-class.html#__ne__ -lastfm.base.LastfmBase.cached_property lastfm.base.LastfmBase-class.html#cached_property lastfm.weeklychart.WeeklyTrackChart.tracks lastfm.weeklychart.WeeklyTrackChart-class.html#tracks lastfm.mixins.cacheable.Cacheable.registry lastfm.mixins.cacheable.Cacheable-class.html#registry lastfm.base.LastfmBase.__gt__ lastfm.base.LastfmBase-class.html#__gt__ diff --git a/docs/class-tree.html b/docs/class-tree.html index 8438e85..967e94f 100644 --- a/docs/class-tree.html +++ b/docs/class-tree.html @@ -360,7 +360,7 @@
- Generated by Epydoc 3.0.1 on Mon Mar 09 17:56:40 2009 + Generated by Epydoc 3.0.1 on Tue Mar 10 11:14:33 2009 |
lastfm.album: Module for calling Album related last.fm web services API methods
|
Imports: + playlist, + Shout, + album, + api, + artist, + base, + decorators, + error, + event, + filecache, + geo, + group, + lazylist, + mixins, + objectcache, + os, + safelist, + shout, + stats, + sys, + tag, + tasteometer, + track, + user, + venue, + weeklychart, + wiki +
- Generated by Epydoc 3.0.1 on Mon Mar 09 17:56:40 2009 + Generated by Epydoc 3.0.1 on Tue Mar 10 11:14:34 2009 |
- Generated by Epydoc 3.0.1 on Mon Mar 09 17:56:43 2009
+ Generated by Epydoc 3.0.1 on Tue Mar 10 11:14:39 2009
|
| |
Imports: + LastfmBase, + Cacheable, + Searchable, + Taggable, + cached_property, + top_property, + datetime, + time, + Api, + Artist, + InvalidParametersError, + Playlist, + Stats, + Tag +
- Generated by Epydoc 3.0.1 on Mon Mar 09 17:56:40 2009 + Generated by Epydoc 3.0.1 on Tue Mar 10 11:14:34 2009 |
7
8 from lastfm.base import LastfmBase
9 from lastfm.mixins import Cacheable, Searchable, Taggable
- 12 """A class representing an album."""
- 323
+324
+325 from datetime import datetime
+326 import time
+327
+328 from lastfm.api import Api
+329 from lastfm.artist import Artist
-325 from lastfm.error import InvalidParametersError
-326 from lastfm.artist import Artist
+330 from lastfm.error import InvalidParametersError
+331 from lastfm.playlist import Playlist
-327 from lastfm.playlist import Playlist
+332 from lastfm.stats import Stats
-328 from lastfm.tag import Tag
-329
+
+
+
+
+ 13 - def init(self,
- 14 api,
- 15 name = None,
- 16 artist = None,
- 17 id = None,
- 18 mbid = None,
- 19 url = None,
- 20 release_date = None,
- 21 image = None,
- 22 stats = None,
- 23 top_tags = None,
- 24 streamable = None):
- 25 """
- 26 Create an Album object by providing all the data related to it.
- 27
- 28 @param api: an instance of L{Api}
- 29 @type api: L{Api}
- 30 @param name: the album name
- 31 @type name: L{str}
- 32 @param artist: the album artist name
- 33 @type artist: L{Artist}
- 34 @param id: the album ID
- 35 @type id: L{str}
- 36 @param mbid: MBID of the album
- 37 @type mbid: L{str}
- 38 @param url: URL of the album on last.fm
- 39 @type url: L{str}
- 40 @param release_date: release date of the album
- 41 @type release_date: C{datetime.datetime}
- 42 @param image: the cover images of the album in various sizes
- 43 @type image: L{dict}
- 44 @param stats: the album statistics
- 45 @type stats: L{Stats}
- 46 @param top_tags: top tags for the album
- 47 @type top_tags: L{list} of L{Tag}
- 48 @param streamable: flag indicating if the album is streamable from last.fm
- 49 @type streamable: L{bool}
- 50
- 51 @raise InvalidParametersError: If an instance of L{Api} is not provided as the first
- 52 parameter then an Exception is raised.
- 53 """
- 54 if not isinstance(api, Api):
- 55 raise InvalidParametersError("api reference must be supplied as an argument")
- 56 Taggable. 10 from lastfm.decorators import cached_property, top_property
+ 13 """A class representing an album."""
+ 318
-319
-320 from datetime import datetime
-321 import time
-322
-323 from lastfm.api import Api
-324 from lastfm.name)
+ 14 - def init(self,
+ 15 api,
+ 16 name = None,
+ 17 artist = None,
+ 18 id = None,
+ 19 mbid = None,
+ 20 url = None,
+ 21 release_date = None,
+ 22 image = None,
+ 23 stats = None,
+ 24 top_tags = None,
+ 25 streamable = None,
+ 26 subject = None):
+ 27 """
+ 28 Create an Album object by providing all the data related to it.
+ 29
+ 30 @param api: an instance of L{Api}
+ 31 @type api: L{Api}
+ 32 @param name: the album name
+ 33 @type name: L{str}
+ 34 @param artist: the album artist name
+ 35 @type artist: L{Artist}
+ 36 @param id: the album ID
+ 37 @type id: L{str}
+ 38 @param mbid: MBID of the album
+ 39 @type mbid: L{str}
+ 40 @param url: URL of the album on last.fm
+ 41 @type url: L{str}
+ 42 @param release_date: release date of the album
+ 43 @type release_date: C{datetime.datetime}
+ 44 @param image: the cover images of the album in various sizes
+ 45 @type image: L{dict}
+ 46 @param stats: the album statistics
+ 47 @type stats: L{Stats}
+ 48 @param top_tags: top tags for the album
+ 49 @type top_tags: L{list} of L{Tag}
+ 50 @param streamable: flag indicating if the album is streamable from last.fm
+ 51 @type streamable: L{bool}
+ 52 @param subject: the subject to which this instance belongs to
+ 53 @type subject: L{User} OR L{Artist} OR L{Tag} OR L{WeeklyChart}
+ 54
+ 55 @raise InvalidParametersError: If an instance of L{Api} is not provided as the first
+ 56 parameter then an Exception is raised.
+ 57 """
+ 58 if not isinstance(api, Api):
+ 59 raise InvalidParametersError("api reference must be supplied as an argument")
+ 60 Taggable.init(self, api)
- 57 self._api = api
- 58 self._name = init(self, api)
+ 61 self._api = api
+ 62 self._name = name
- 59 self._artist = name
+ 63 self._artist = artist
- 60 self._id = artist
+ 64 self._id = id
- 61 self._mbid = id
+ 65 self._mbid = mbid
- 62 self._url = mbid
+ 66 self._url = url
- 63 self._release_date = release_date
- 64 self._image = url
+ 67 self._release_date = release_date
+ 68 self._image = image
- 65 self._stats = image
+ 69 self._stats = stats and Stats(
- 66 stats and Stats(
+ 70 subject = self,
- 67 listeners = subject = self,
+ 71 listeners = stats.listeners,
- 68 playcount = stats.listeners,
+ 72 playcount = stats.playcount,
- 69 match = stats.playcount,
+ 73 match = stats.match,
- 70 rank = stats.match,
+ 74 rank = stats.rank
- 71 )
- 72 self._top_tags = stats.rank
+ 75 )
+ 76 self._top_tags = top_tags
- 73 self._streamable = top_tags
+ 77 self._streamable = streamable
- 74
- 75 @property
- 82
- 83 @property
- 90
- 91 @property
- 93 """
- 94 id of the album
- 95 @rtype: L{int}
- 96 """
- 97 if self._id is None:
- 98 self.streamable
+ 78 self._subject = subject
+ 79
+ 80 @property
+ 87
+ 88 @property
+ 95
+ 96 @property
+ 98 """
+ 99 id of the album
+100 @rtype: L{int}
+101 """
+102 if self._id is None:
+103 self._fill_info()
- 99 return self._id
- 100
-101 @property
-103 """
-104 MBID of the album
-105 @rtype: L{str}
-106 """
-107 if self._mbid is None:
-108 self._fill_info()
+104 return self._id
+ 105
+106 @property
+108 """
+109 MBID of the album
+110 @rtype: L{str}
+111 """
+112 if self._mbid is None:
+113 self._fill_info()
-109 return self._mbid
- 110
-111 @property
-113 """
-114 url of the album's page
-115 @rtype: L{str}
-116 """
-117 if self._url is None:
-118 self._fill_info()
+114 return self._mbid
+ 115
+116 @property
+118 """
+119 url of the album's page
+120 @rtype: L{str}
+121 """
+122 if self._url is None:
+123 self._fill_info()
-119 return self._url
- 120
-121 @property
-123 """
-124 release date of the album
-125 @rtype: C{datetime.datetime}
-126 """
-127 if self._release_date is None:
-128 self._fill_info()
+124 return self._url
+ 125
+126 @property
+128 """
+129 release date of the album
+130 @rtype: C{datetime.datetime}
+131 """
+132 if self._release_date is None:
+133 self._fill_info()
-129 return self._release_date
- 130
-131 @property
-133 """
-134 cover images of the album
-135 @rtype: L{dict}
-136 """
-137 if self._image is None:
-138 self._fill_info()
+134 return self._release_date
+ 135
+136 @property
+138 """
+139 cover images of the album
+140 @rtype: L{dict}
+141 """
+142 if self._image is None:
+143 self._fill_info()
-139 return self._image
- 140
-141 @property
-143 """
-144 stats related to the album
-145 @rtype: L{Stats}
-146 """
-147 if self._stats is None:
-148 self._fill_info()
+144 return self._image
+ 145
+146 @property
+148 """
+149 stats related to the album
+150 @rtype: L{Stats}
+151 """
+152 if self._stats is None:
+153 self._fill_info()
-149 return self._stats
- 150
-151 @property
-153 """
-154 is the album streamable on last.fm
-155 @rtype: L{bool}
-156 """
-157 return self._streamable
- 158
-159 @LastfmBase.cached_property
-155
+156 @property
+158 """
+159 is the album streamable on last.fm
+160 @rtype: L{bool}
+161 """
+162 return self._streamable
+ 163
+164 @cached_property
+180
-181 @LastfmBase.top_property("top_tags")
-188
-189 @LastfmBase.cached_property
-191 """
-192 playlist for the album
-193 @rtype: L{Playlist}
-194 """
-195 return Playlist.fetch(self._api, "lastfm://playlist/album/%s" % self.url = t.findtext('url')
+182 )
+183 for t in data.findall('toptags/tag')
+184 ]
+ 185
+186 @top_property("top_tags")
+193
+194 @cached_property
+196 """
+197 playlist for the album
+198 @rtype: L{Playlist}
+199 """
+200 return Playlist.fetch(self._api, "lastfm://playlist/album/%s" % self.id)
- 196
-197 @staticmethod
-199 """
-200 Get the data for the album.
-201
-202 @param api: an instance of L{Api}
-203 @type api: L{Api}
-204 @param artist: the album artist name
-205 @type artist: L{str} OR L{Artist}
-206 @param album: the album name
-207 @type album: L{str}
-208 @param mbid: MBID of the album
-209 @type mbid: L{str}
-210
-211 @return: an Album object corresponding the provided album name
-212 @rtype: L{Album}
-213
-214 @raise lastfm.InvalidParametersError: Either album and artist parameters or
-215 mbid parameter has to be provided.
-216 Otherwise exception is raised.
-217
-218 @note: Use the L{Api.get_album} method instead of using this method directly.
-219 """
-220 data = Album.id)
+ 201
+202 @staticmethod
+204 """
+205 Get the data for the album.
+206
+207 @param api: an instance of L{Api}
+208 @type api: L{Api}
+209 @param artist: the album artist name
+210 @type artist: L{str} OR L{Artist}
+211 @param album: the album name
+212 @type album: L{str}
+213 @param mbid: MBID of the album
+214 @type mbid: L{str}
+215
+216 @return: an Album object corresponding the provided album name
+217 @rtype: L{Album}
+218
+219 @raise lastfm.InvalidParametersError: Either album and artist parameters or
+220 mbid parameter has to be provided.
+221 Otherwise exception is raised.
+222
+223 @note: Use the L{Api.get_album} method instead of using this method directly.
+224 """
+225 data = Album._fetch_data(api, _fetch_data(api, artist, album, artist, album, mbid)
-221 a = Album(
-222 api,
-223 mbid)
+226 a = Album(
+227 api,
+228 name = data.findtext('name'),
-224 name = data.findtext('name'),
+229 artist = Artist(
-225 api,
-226 artist = Artist(
+230 api,
+231 name = data.findtext('artist'),
-227 ),
-228 )
-229 a.name = data.findtext('artist'),
+232 ),
+233 )
+234 a._fill_info()
-230 return a
- 231
-236
+238 if not (self.artist and self.artist and self.name):
-234 raise InvalidParametersError("artist and album have to be provided.")
-235 params = {'artist': self.name):
+239 raise InvalidParametersError("artist and album have to be provided.")
+240 params = {'artist': self.artist.artist.name, 'album': self.name, 'album': self.name}
-236 params.update(extra_params)
-237 return params
- 238
-239 @staticmethod
-244 params = {'method': 'album.getInfo'}
-245 if not ((name}
+241 params.update(extra_params)
+242 return params
+ 243
+244 @staticmethod
+249 params = {'method': 'album.getInfo'}
+250 if not ((artist and album) or artist and album) or mbid):
-246 raise InvalidParametersError("either (artist and album) or mbid has to be given as argument.")
-247 if mbid):
+251 raise InvalidParametersError("either (artist and album) or mbid has to be given as argument.")
+252 if artist and album:
-248 params.update({'artist': artist and album:
+253 params.update({'artist': artist, 'album': album})
-249 elif artist, 'album': album})
+254 elif mbid:
-250 params.update({'mbid': mbid:
+255 params.update({'mbid': mbid})
-251 return api.mbid})
+256 return api._fetch_data(params).find('album')
- 252
-257
+259 data = Album._fetch_data(self._api, self._fetch_data(self._api, self.artist.artist.name, self.name, self.name)
-255 self._id = int(data.findtext('id'))
-256 self._mbid = data.findtext('mbid')
-257 self._url = data.findtext('url')
-258 self._release_date = data.findtext('releasedate') and data.findtext('releasedate').strip() and \
-259 datetime(*(time.strptime(data.findtext('releasedate').strip(), '%d %b %Y, 00:00')[0:6]))
-260 self._image = dict([(i.get('size'), i.text) for i in data.findall('image')])
-261 if not self._stats:
-262 self._stats = Stats(
-263 name)
+260 self._id = int(data.findtext('id'))
+261 self._mbid = data.findtext('mbid')
+262 self._url = data.findtext('url')
+263 self._release_date = data.findtext('releasedate') and data.findtext('releasedate').strip() and \
+264 datetime(*(time.strptime(data.findtext('releasedate').strip(), '%d %b %Y, 00:00')[0:6]))
+265 self._image = dict([(i.get('size'), i.text) for i in data.findall('image')])
+266 if not self._stats:
+267 self._stats = Stats(
+268 subject = self,
-264 listeners = int(data.findtext('listeners')),
-265 playcount = int(data.findtext('playcount')),
-266 )
-267 self._top_tags = [
-268 Tag(
-269 self._api,
-270 subject = self,
+269 listeners = int(data.findtext('listeners')),
+270 playcount = int(data.findtext('playcount')),
+271 )
+272 self._top_tags = [
+273 Tag(
+274 self._api,
+275 subject = self,
-271 subject = self,
+276 name = t.findtext('name'),
-272 name = t.findtext('name'),
+277 url = t.findtext('url')
-273 )
-274 for t in data.findall('toptags/tag')
-275 ]
- 276
-277 @staticmethod
-279 return Album(
-280 api,
-281 url = t.findtext('url')
+278 )
+279 for t in data.findall('toptags/tag')
+280 ]
+ 281
+282 @staticmethod
+284 return Album(
+285 api,
+286 name = album.findtext('name'),
-282 name = album.findtext('name'),
+287 artist = Artist(
-283 api,
-284 artist = Artist(
+288 api,
+289 name = album.findtext('artist')
-285 ),
-286 name = album.findtext('artist')
+290 ),
+291 id = int(album.findtext('id')),
-287 id = int(album.findtext('id')),
+292 url = album.findtext('url'),
-288 url = album.findtext('url'),
+293 image = dict([(i.get('size'), i.text) for i in album.findall('image')]),
-289 image = dict([(i.get('size'), i.text) for i in album.findall('image')]),
+294 streamable = (album.findtext('streamable') == '1'),
-290 )
- 291
-292 @staticmethod
-294 try:
-295 return hash("%s%s" % (kwds['name'], hash(kwds['artist'])))
-296 except KeyError:
-297 raise InvalidParametersError("name and artist have to be provided for hashing")
- 298
-296
+297 @staticmethod
+299 try:
+300 return hash("%s%s" % (kwds['name'], hash(kwds['artist'])))
+301 except KeyError:
+302 raise InvalidParametersError("name and artist have to be provided for hashing")
+ 303
+305 return self.__class__._hash_func(_hash_func(name = self.name = self.name, name, artist = self.artist = self.artist)
- 301
-303 if self.artist)
+ 306
+308 if self.id and other.id and other.id:
-304 return self.id:
+309 return self.id == other.id == other.id
-305 if self.id
+310 if self.mbid and other.mbid and other.mbid:
-306 return self.mbid:
+311 return self.mbid == other.mbid == other.mbid
-307 if self.mbid
+312 if self.url and other.url and other.url:
-308 return self.url:
+313 return self.url == other.url == other.url
-309 if (self.url
+314 if (self.name and self.name and self.artist) and (other.artist) and (other.name and other.name and other.artist):
-310 return (self.artist):
+315 return (self.name == other.name == other.name) and (self.name) and (self.artist == other.artist == other.artist)
-311 return super(Album, self).artist)
+316 return super(Album, self).__eq__(other)
- 312
-314 return self.__eq__(other)
+ 317
+315
-317 return "<lastfm.Album: '%s' by %s>" % (self.name
+ 320
+
Module decorators+Module containting the decorators used in the package + ++ Version: + 0.2 + +Author: + Abhinav Sarkar <abhinav@abhinavsarkar.net> + +License: + GNU Lesser General Public License + +
Imports: + copy, + LastfmError, + AuthenticationFailedError + + + +
+
+
+
+
+
+
+
+
+ +
|