From 2ddd3f320b9889429aec4c93d993d867bb8ea031 Mon Sep 17 00:00:00 2001 From: Abhinav Sarkar Date: Thu, 10 Jul 2008 16:53:43 +0000 Subject: [PATCH] --- lastfm/album.py | 1 - lastfm/api.py | 32 +++++++++++++++++++++++++++++--- lastfm/artist.py | 1 - lastfm/event.py | 1 - lastfm/geo.py | 5 ++++- lastfm/tag.py | 28 +++++++++++++++++++++++++++- 6 files changed, 60 insertions(+), 8 deletions(-) diff --git a/lastfm/album.py b/lastfm/album.py index 7135bc2..562033c 100644 --- a/lastfm/album.py +++ b/lastfm/album.py @@ -126,6 +126,5 @@ from datetime import datetime import time from error import LastfmError -from api import Api from tag import Tag from artist import Artist \ No newline at end of file diff --git a/lastfm/api.py b/lastfm/api.py index a784542..e0a03ad 100644 --- a/lastfm/api.py +++ b/lastfm/api.py @@ -149,6 +149,27 @@ class Api(object): def getGroup(self, name): return Group(self, name) + + def fetchPlaylist(self, playlistUrl): + return Playlist(self, playlistUrl) + + def getTag(self, name): + return Tag(self, name) + + def getGlobalTopTags(self): + return Tag.getTopTags(self) + + def searchTag(self, + tag, + limit = None, + page = None): + return Tag.search(self, tag, limit, page) + + def compareTaste(self, + type1, type2, + value1, value2, + limit = None): + return Tasteometer(self, type1, type2, value1, value2, limit) def _fetchUrl(self, url, @@ -197,14 +218,17 @@ class Api(object): # Always return the latest version return url_data - def fetchData(self, params): + def fetchData(self, params, parse = True): params.update({'api_key': self.__apiKey}) xml = self._fetchUrl(Api.API_ROOT_URL, params) data = ElementTree.XML(xml) if data.get('status') != "ok": raise LastfmError("Error code: %s (%s)" % (data.find("error").get('code'), data.findtext('error'))) - return data + if parse: + return data + else: + return xml import urllib import urllib2 @@ -225,6 +249,8 @@ from artist import Artist from event import Event from geo import Location, Country from group import Group -#from tag import Tag +from playlist import Playlist +from tag import Tag +from tasteometer import Tasteometer #from track import Track #from user import User diff --git a/lastfm/artist.py b/lastfm/artist.py index 13662bd..68db36f 100644 --- a/lastfm/artist.py +++ b/lastfm/artist.py @@ -220,5 +220,4 @@ import time import types from error import LastfmError -from api import Api from tag import Tag diff --git a/lastfm/event.py b/lastfm/event.py index 8c16112..c0223ad 100644 --- a/lastfm/event.py +++ b/lastfm/event.py @@ -148,6 +148,5 @@ class Event(object): from datetime import datetime import time -from api import Api from artist import Artist from geo import Venue, Location, Country \ No newline at end of file diff --git a/lastfm/geo.py b/lastfm/geo.py index 113f572..c2c2c9d 100644 --- a/lastfm/geo.py +++ b/lastfm/geo.py @@ -150,4 +150,7 @@ class Country(object): None, None, "Docstring") def __eq__(self, other): - return self.name == other.name \ No newline at end of file + return self.name == other.name + +from artist import Artist +from track import Track \ No newline at end of file diff --git a/lastfm/tag.py b/lastfm/tag.py index 6018da2..826a758 100644 --- a/lastfm/tag.py +++ b/lastfm/tag.py @@ -23,4 +23,30 @@ class Tag(object): name = property(getName, None, None, "Name's Docstring") url = property(getUrl, None, None, "Url's Docstring") - \ No newline at end of file + + def getSimilar(self): + pass + + def getTopAlbums(self): + pass + + def getTopArtists(self): + pass + + def getTopTracks(self): + pass + + @staticmethod + def getTopTags(api): + pass + + @staticmethod + def search(api, + tag, + limit = None, + page = None): + pass + +from album import Album +from artist import Artist +from track import Track \ No newline at end of file