def run (self) : required = ('user_id',) if not self.ensure_args(required) : return user_id = self.request.get('user_id') user = User.get_user_by_nsid(user_id) if not user : self.api_error(1, 'Not a valid user') return if user.buddyicon_url : self.api_ok({'buddyicon_url' : user.buddyicon_url}) return rsp = self.get_people_info(self, user.nsid) if not rsp : self.api_error(2, 'Failed to retrieve buddyicon') return if rsp['person']['iconfarm'] == 0 : self.api_error(3, 'User has not chosen a buddyicon') return buddyicon = "http://farm%s.static.flickr.com/%s/buddyicons/%s.jpg" % (rsp['person']['iconfarm'], rsp['person']['iconserver'], self.user.nsid) User.set_buddyicon_url(user, buddyicon) self.api_ok({'buddyicon_url' : buddyicon}) return