Пример #1
0
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)
Пример #2
0
	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)
Пример #3
0
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)