Created
May 24, 2009 20:29
-
-
Save imlucas/117245 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import os, sys, json, urllib2, time, urllib | |
| class AmieStreet: | |
| def __init__(self, gateway_url): | |
| self.gateway_url=gateway_url | |
| def __doRequest(self, service, method, params=None): | |
| param_string = '' | |
| if params!=None: | |
| param_string = urllib.urlencode(params) | |
| url = self.gateway_url+service+'/'+method+'.json?'+param_string | |
| c=urllib2.urlopen(url) | |
| contents = c.read() | |
| return json.read(contents) | |
| # Service: SalesReportApi | |
| def SalesReportApi_getBasicSalesReport(self, quarter, year): | |
| params={'quarter':quarter,'year':year} | |
| return self.__doRequest('SalesReportApi', 'getBasicSalesReport', params) | |
| # Service: ArtistApi | |
| def ArtistApi_get(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'get', params) | |
| def ArtistApi_multiGet(self, artistIdString): | |
| params={'artistIdString':artistIdString} | |
| return self.__doRequest('ArtistApi', 'multiGet', params) | |
| def ArtistApi_info(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'info', params) | |
| def ArtistApi_songs(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'songs', params) | |
| def ArtistApi_topSongs(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'topSongs', params) | |
| def ArtistApi_albums(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'albums', params) | |
| def ArtistApi_topAlbums(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'topAlbums', params) | |
| def ArtistApi_similarArtists(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'similarArtists', params) | |
| def ArtistApi_labelSimilarArtists(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'labelSimilarArtists', params) | |
| def ArtistApi_genreSimilarArtists(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'genreSimilarArtists', params) | |
| def ArtistApi_recs(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'recs', params) | |
| def ArtistApi_bio(self, artist): | |
| params={'artist':artist} | |
| return self.__doRequest('ArtistApi', 'bio', params) | |
| # Service: AlbumApi | |
| def AlbumApi_similar(self, album): | |
| params={'album':album} | |
| return self.__doRequest('AlbumApi', 'similar', params) | |
| def AlbumApi_songs(self, album): | |
| params={'album':album} | |
| return self.__doRequest('AlbumApi', 'songs', params) | |
| def AlbumApi_info(self, album): | |
| params={'album':album} | |
| return self.__doRequest('AlbumApi', 'info', params) | |
| def AlbumApi_topSongs(self, album, limit): | |
| params={'album':album,'limit':limit} | |
| return self.__doRequest('AlbumApi', 'topSongs', params) | |
| def AlbumApi_recs(self, album): | |
| params={'album':album} | |
| return self.__doRequest('AlbumApi', 'recs', params) | |
| def AlbumApi_topRecsWithReview(self, album): | |
| params={'album':album} | |
| return self.__doRequest('AlbumApi', 'topRecsWithReview', params) | |
| def AlbumApi_editorNote(self, album): | |
| params={'album':album} | |
| return self.__doRequest('AlbumApi', 'editorNote', params) | |
| # Service: SongApi | |
| def SongApi_getSongById(self, id): | |
| params={'id':id} | |
| return self.__doRequest('SongApi', 'getSongById', params) | |
| # Service: LibraryApi | |
| def LibraryApi_numSongs(self, user): | |
| params={'user':user} | |
| return self.__doRequest('LibraryApi', 'numSongs', params) | |
| def LibraryApi_songs(self, user, page, limit): | |
| params={'user':user,'page':page,'limit':limit} | |
| return self.__doRequest('LibraryApi', 'songs', params) | |
| def LibraryApi_artists(self, user): | |
| params={'user':user} | |
| return self.__doRequest('LibraryApi', 'artists', params) | |
| def LibraryApi_albums(self, user): | |
| params={'user':user} | |
| return self.__doRequest('LibraryApi', 'albums', params) | |
| def LibraryApi_genres(self, user): | |
| params={'user':user} | |
| return self.__doRequest('LibraryApi', 'genres', params) | |
| def LibraryApi_banSong(self, fingerprint, songId): | |
| params={'fingerprint':fingerprint,'songId':songId} | |
| return self.__doRequest('LibraryApi', 'banSong', params) | |
| def LibraryApi_banSongList(self, fingerprint, songIdList): | |
| params={'fingerprint':fingerprint,'songIdList':songIdList} | |
| return self.__doRequest('LibraryApi', 'banSongList', params) | |
| def LibraryApi_unbanSong(self, fingerprint, songId): | |
| params={'fingerprint':fingerprint,'songId':songId} | |
| return self.__doRequest('LibraryApi', 'unbanSong', params) | |
| def LibraryApi_unbanSongList(self, fingerprint, songIdList): | |
| params={'fingerprint':fingerprint,'songIdList':songIdList} | |
| return self.__doRequest('LibraryApi', 'unbanSongList', params) | |
| def LibraryApi_bannedSongs(self, user): | |
| params={'user':user} | |
| return self.__doRequest('LibraryApi', 'bannedSongs', params) | |
| def LibraryApi_refreshLibrary(self, user, songIds): | |
| params={'user':user,'songIds':songIds} | |
| return self.__doRequest('LibraryApi', 'refreshLibrary', params) | |
| # Service: PlayerApi | |
| def PlayerApi_scrobble(self, fingerprint, songId, status, instance): | |
| params={'fingerprint':fingerprint,'songId':songId,'status':status,'instance':instance} | |
| return self.__doRequest('PlayerApi', 'scrobble', params) | |
| # Service: AuthApi | |
| def AuthApi_login(self, username, password): | |
| params={'username':username,'password':password} | |
| return self.__doRequest('AuthApi', 'login', params) | |
| def AuthApi_logout(self, fingerprint): | |
| params={'fingerprint':fingerprint} | |
| return self.__doRequest('AuthApi', 'logout', params) | |
| def AuthApi_getFingerprint(self): | |
| return self.__doRequest('AuthApi', 'getFingerprint') | |
| def AuthApi_getActor(self, fingerprint): | |
| params={'fingerprint':fingerprint} | |
| return self.__doRequest('AuthApi', 'getActor', params) | |
| # Service: FreebiesApi | |
| def FreebiesApi_getPlaylist(self, genreGroupId, excludeSongIds): | |
| params={'genreGroupId':genreGroupId,'excludeSongIds':excludeSongIds} | |
| return self.__doRequest('FreebiesApi', 'getPlaylist', params) | |
| def FreebiesApi_getPlaylistSongIds(self, genreGroupId, excludeSongIds): | |
| params={'genreGroupId':genreGroupId,'excludeSongIds':excludeSongIds} | |
| return self.__doRequest('FreebiesApi', 'getPlaylistSongIds', params) | |
| def FreebiesApi_getAllGenresList(self): | |
| return self.__doRequest('FreebiesApi', 'getAllGenresList') | |
| def FreebiesApi_getAllGenreGroups(self): | |
| return self.__doRequest('FreebiesApi', 'getAllGenreGroups') | |
| def FreebiesApi_freeCountInGroup(self, genreGroupId): | |
| params={'genreGroupId':genreGroupId} | |
| return self.__doRequest('FreebiesApi', 'freeCountInGroup', params) | |
| # Service: BrowseApi | |
| def BrowseApi_newReleases(self): | |
| return self.__doRequest('BrowseApi', 'newReleases') | |
| def BrowseApi_popular(self): | |
| return self.__doRequest('BrowseApi', 'popular') | |
| # Service: SearchApi | |
| def SearchApi_artists(self, query): | |
| params={'query':query} | |
| return self.__doRequest('SearchApi', 'artists', params) | |
| def SearchApi_albums(self, query): | |
| params={'query':query} | |
| return self.__doRequest('SearchApi', 'albums', params) | |
| def SearchApi_songs(self, query): | |
| params={'query':query} | |
| return self.__doRequest('SearchApi', 'songs', params) | |
| def SearchApi_find(self, artists, songs): | |
| params={'artists':artists,'songs':songs} | |
| return self.__doRequest('SearchApi', 'find', params) | |
| # Service: PricingApi | |
| def PricingApi_song(self, id): | |
| params={'id':id} | |
| return self.__doRequest('PricingApi', 'song', params) | |
| # Service: UserApi | |
| def UserApi_playlists(self, user): | |
| params={'user':user} | |
| return self.__doRequest('UserApi', 'playlists', params) | |
| def UserApi_get(self, user): | |
| params={'user':user} | |
| return self.__doRequest('UserApi', 'get', params) | |
| def UserApi_multiGet(self, userIdList): | |
| params={'userIdList':userIdList} | |
| return self.__doRequest('UserApi', 'multiGet', params) | |
| def UserApi_friends(self, user): | |
| params={'user':user} | |
| return self.__doRequest('UserApi', 'friends', params) | |
| # Service: PlaylistApi | |
| def PlaylistApi_get(self, playlistId): | |
| params={'playlistId':playlistId} | |
| return self.__doRequest('PlaylistApi', 'get', params) | |
| def PlaylistApi_multiGet(self, playlistIdList): | |
| params={'playlistIdList':playlistIdList} | |
| return self.__doRequest('PlaylistApi', 'multiGet', params) | |
| def PlaylistApi_create(self, fingerprint, title, description): | |
| params={'fingerprint':fingerprint,'title':title,'description':description} | |
| return self.__doRequest('PlaylistApi', 'create', params) | |
| def PlaylistApi_copy(self, fingerprint, playlistId): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId} | |
| return self.__doRequest('PlaylistApi', 'copy', params) | |
| def PlaylistApi_info(self, playlistId): | |
| params={'playlistId':playlistId} | |
| return self.__doRequest('PlaylistApi', 'info', params) | |
| def PlaylistApi_addCollaborator(self, fingerprint, playlistId, collaboratorId): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId,'collaboratorId':collaboratorId} | |
| return self.__doRequest('PlaylistApi', 'addCollaborator', params) | |
| def PlaylistApi_removeCollaborator(self, fingerprint, playlistId, collaboratorId): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId,'collaboratorId':collaboratorId} | |
| return self.__doRequest('PlaylistApi', 'removeCollaborator', params) | |
| def PlaylistApi_addSong(self, fingerprint, playlistId, songId, position): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId,'songId':songId,'position':position} | |
| return self.__doRequest('PlaylistApi', 'addSong', params) | |
| def PlaylistApi_addSongList(self, fingerprint, playlistId, songIdList, position): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId,'songIdList':songIdList,'position':position} | |
| return self.__doRequest('PlaylistApi', 'addSongList', params) | |
| def PlaylistApi_removeSong(self, fingerprint, playlistId, songId): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId,'songId':songId} | |
| return self.__doRequest('PlaylistApi', 'removeSong', params) | |
| def PlaylistApi_removeSongList(self, fingerprint, playlistId, songIdList): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId,'songIdList':songIdList} | |
| return self.__doRequest('PlaylistApi', 'removeSongList', params) | |
| def PlaylistApi_updateSequence(self, fingerprint, playlistId, songIdList): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId,'songIdList':songIdList} | |
| return self.__doRequest('PlaylistApi', 'updateSequence', params) | |
| def PlaylistApi_updateTitle(self, fingerprint, playlistId, title): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId,'title':title} | |
| return self.__doRequest('PlaylistApi', 'updateTitle', params) | |
| def PlaylistApi_updateDescription(self, fingerprint, playlistId, description): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId,'description':description} | |
| return self.__doRequest('PlaylistApi', 'updateDescription', params) | |
| def PlaylistApi_deletePlaylist(self, fingerprint, playlistId): | |
| params={'fingerprint':fingerprint,'playlistId':playlistId} | |
| return self.__doRequest('PlaylistApi', 'deletePlaylist', params) | |
| # Service: ShrekApi | |
| def ShrekApi_autocomplete(self, query): | |
| params={'query':query} | |
| return self.__doRequest('ShrekApi', 'autocomplete', params) | |
| def ShrekApi_recommend(self, pids): | |
| params={'pids':pids} | |
| return self.__doRequest('ShrekApi', 'recommend', params) | |
| def ShrekApi_playlist(self, artistIds, excludeSongIds): | |
| params={'artistIds':artistIds,'excludeSongIds':excludeSongIds} | |
| return self.__doRequest('ShrekApi', 'playlist', params) | |
| def ShrekApi_stationToPids(self, station): | |
| params={'station':station} | |
| return self.__doRequest('ShrekApi', 'stationToPids', params) | |
| # Service: AutocompleteApi | |
| def AutocompleteApi_artists(self, query): | |
| params={'query':query} | |
| return self.__doRequest('AutocompleteApi', 'artists', params) | |
| def AutocompleteApi_albums(self, query): | |
| params={'query':query} | |
| return self.__doRequest('AutocompleteApi', 'albums', params) | |
| def AutocompleteApi_songs(self, query): | |
| params={'query':query} | |
| return self.__doRequest('AutocompleteApi', 'songs', params) | |
| # Service: RecApi | |
| def RecApi_latest(self, offset, limit): | |
| params={'offset':offset,'limit':limit} | |
| return self.__doRequest('RecApi', 'latest', params) | |
| def RecApi_score(self, fingerprint, recId, score): | |
| params={'fingerprint':fingerprint,'recId':recId,'score':score} | |
| return self.__doRequest('RecApi', 'score', params) | |
| def RecApi_latestForTraining(self, fingerprint): | |
| params={'fingerprint':fingerprint} | |
| return self.__doRequest('RecApi', 'latestForTraining', params) | |
| # Service: RecommendationsApi | |
| def RecommendationsApi_isNew(self): | |
| return self.__doRequest('RecommendationsApi', 'isNew') | |
| def RecommendationsApi_refresh(self): | |
| return self.__doRequest('RecommendationsApi', 'refresh') | |
| def RecommendationsApi_addSeedArtist(self, name, source): | |
| params={'name':name,'source':source} | |
| return self.__doRequest('RecommendationsApi', 'addSeedArtist', params) | |
| def RecommendationsApi_removeSeedArtist(self, name): | |
| params={'name':name} | |
| return self.__doRequest('RecommendationsApi', 'removeSeedArtist', params) | |
| def RecommendationsApi_listSeedArtists(self): | |
| return self.__doRequest('RecommendationsApi', 'listSeedArtists') | |
| def RecommendationsApi_recommend(self, offset, count, genreGroup): | |
| params={'offset':offset,'count':count,'genreGroup':genreGroup} | |
| return self.__doRequest('RecommendationsApi', 'recommend', params) | |
| # Service: PandoraApi | |
| def PandoraApi_stations(self, user): | |
| params={'user':user} | |
| return self.__doRequest('PandoraApi', 'stations', params) | |
| def PandoraApi_bookmarkedSongs(self, user): | |
| params={'user':user} | |
| return self.__doRequest('PandoraApi', 'bookmarkedSongs', params) | |
| def PandoraApi_bookmarkedArtists(self, user): | |
| params={'user':user} | |
| return self.__doRequest('PandoraApi', 'bookmarkedArtists', params) | |
| # Service: LastfmApi | |
| def LastfmApi_userTopArtists(self, user, period): | |
| params={'user':user,'period':period} | |
| return self.__doRequest('LastfmApi', 'userTopArtists', params) | |
| # Service: HypemachineApi | |
| def HypemachineApi_lovedTracks(self, username, page): | |
| params={'username':username,'page':page} | |
| return self.__doRequest('HypemachineApi', 'lovedTracks', params) | |
| def HypemachineApi_listenHistory(self, username, page): | |
| params={'username':username,'page':page} | |
| return self.__doRequest('HypemachineApi', 'listenHistory', params) | |
| # Service: SongzaApi | |
| def SongzaApi_playlist(self, username): | |
| params={'username':username} | |
| return self.__doRequest('SongzaApi', 'playlist', params) | |
| # End rest py client |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment