class Aggregator: def __init__(self): self.client = MongoConnector() def process(self): self.process_media() def process_media(self): for user in self.client.current_db.users.find(): #Have media and tag lists on a per-user basis self.media = [] #Grab the facebook media print print 'Grabbing facebook media...' try: fb_media = FacebookConnector(user[u'oauth_token'], self.client, user).get_media() self.media.append(('facebook', fb_media)) except facebook.GraphAPIError: print 'Error with facebook for user ' + user['name'] #For each service they like, find the likes try: for service in user[u'tokens']: if (service[u'provider'] == 'vimeo'): print print 'Grabbing vimeo media...' vimeo_media = VimeoConnector(service[u'username']).get_media() self.media.append(('vimeo', vimeo_media)) if (service[u'provider'] == 'twitter'): print print 'Grabbing twitter media...' twitter_media = TwitterConnector(service[u'oauth_token'], service[u'oauth_token_secret']).get_media() self.media.append(('twitter', twitter_media)) if (service[u'provider'] == 'lastfm'): print print 'Grabbing lastfm media...' lastfm_media = LastFMConnector(service[u'username']).get_media() self.media.append(('lastfm', lastfm_media)) if (service[u'provider'] == 'soundcloud'): print print 'Grabbing soundcloud media...' soundcloud_media = SoundcloudConnector(service[u'oauth_token']).get_media() self.media.append(('soundcloud', soundcloud_media)) if (service[u'provider'] == 'google_login'): print print 'Grabbing youtube media...' youtube_media = YoutubeConnector(service[u'oauth_token_secret']).get_media() self.media.append(('youtube', youtube_media)) except KeyError: print 'No other service tokens' #All processed, insert media and tags together self.client.insert_media(user[u'_id'], self.media)
fb_media = FacebookConnector(user[u'oauth_token'], client).get_media() media_list.append(('facebook', fb_media)) #For each service they like, find the likes try: for service in user[u'tokens']: if (service[u'provider'] == 'vimeo'): vimeo_media = VimeoConnector(service[u'username']).get_media() media_list.append(('vimeo', vimeo_media)) if (service[u'provider'] == 'twitter'): twitter_media = TwitterConnector(service[u'oauth_token'], service[u'oauth_token_secret']).get_media() media_list.append(('twitter', twitter_media)) if (service[u'provider'] == 'lastfm'): lastfm_media = LastFMConnector(service[u'username']).get_media() media_list.append(('lastfm', lastfm_media)) if (service[u'provider'] == 'soundcloud'): soundcloud_media = SoundcloudConnector(service[u'oauth_token']).get_media() media_list.append(('soundcloud', soundcloud_media)) except KeyError: print 'No other service tokens' for media_source in media_list: print "\n" + media_source[0] + " media" for link in media_source[1]: print link client.insert_media(user[u'_id'], media_list)
class Aggregator: def __init__(self): self.client = MongoConnector() def process(self): self.process_media() def process_media(self): for user in self.client.current_db.users.find(): print 'Aggregating ' + user['name'] + '\'s content' #Have media and tag lists on a per-user basis self.media = [] #For each service they like, find the likes try: for service in user[u'tokens']: if (service[u'provider'] == 'vimeo'): print print 'Grabbing vimeo media...' vimeo_media = VimeoConnector(service[u'oauth_token']).get_media() print str(len(vimeo_media)) + " items returned " self.media.append(('vimeo', vimeo_media)) if (service[u'provider'] == 'twitter'): print print 'Grabbing twitter media...' twitter_media = TwitterConnector(service[u'uid'],service[u'oauth_token'], service[u'oauth_token_secret']).get_media() print str(len(twitter_media)) + " items returned " self.media.append(('twitter', twitter_media)) if (service[u'provider'] == 'soundcloud'): print print 'Grabbing soundcloud media...' soundcloud_media = SoundcloudConnector(service[u'oauth_token']).get_media() print str(len(soundcloud_media)) + " items returned " self.media.append(('soundcloud', soundcloud_media)) if (service[u'provider'] == 'google_oauth2'): print print 'Grabbing youtube media...' youtube_media = YoutubeConnector(service[u'oauth_token_secret']).get_media() print str(len(youtube_media)) + " items returned " self.media.append(('youtube', youtube_media)) if (service[u'provider'] == 'spotify'): print print 'Grabbing spotify media...' token = SpotifyRefresher(service,user['_id']).check_token() spotify_media = SpotifyConnector(token).get_media() print str(len(spotify_media)) + " items returned " self.media.append(('spotify', spotify_media)) except KeyError,e: print e print 'No other service tokens' #All processed, insert media and tags together self.client.insert_media(user[u'_id'], self.media)