Example #1
0
def fetchDetailsRottenTomatoes(identifiers):
	movie=Movie()
	movie.sourceID=identifiers.sourceID
	movie.source=identifiers.source
	url=rottenTomatoesUrl +'/movies/' + str(identifiers.sourceID) + '.json?apikey=' + rottenKey
	data=safeRequestJSON(url)
	reviewsUrl=rottenTomatoesUrl +'/movies/' + str(identifiers.sourceID) + '/reviews.json?apikey=' + rottenKey
	try:
		movie.year = str(data['year'])
	except:
		movie.year =''
	try:	
		movie.title = data['title']
	except:
		movie.title =''	
	try:
		movie.numReviews=safeRequestJSON(reviewsUrl)['total']
	except:
		movie.numReviews=0
	try:    
		movie.description=data['synopsis'] if data['synopsis'] else ''
	except:
		movie.description=''
	try:
		movie.actors=''
		for actor in data['abridged_cast']:
			if 	actor !=data['abridged_cast'][-1]:
				movie.actors+=actor['name'] + actorsDelimiter
			else:	
				movie.actors+=actor['name']
	except:
		movie.actors=''
	return movie	
Example #2
0
def fetchDetailsTheMovieDB(identifiers):	
	movie=Movie()
	movie.sourceID=identifiers.sourceID
	movie.source=identifiers.source
	url=theMovieDBUrl + '/movie/' + str(identifiers.sourceID) + '?api_key=' + movieDBKey
	data=safeRequestJSON(url)
	reviewsUrl=theMovieDBUrl + '/movie/' + str(identifiers.sourceID) + '/reviews?api_key=' + movieDBKey
	try:
		movie.year = data['release_date'][:4]
	except:
		movie.year =''
	try:	
		movie.title = data['title']
	except:
		movie.title =''	
	try:
		movie.numReviews=safeRequestJSON(reviewsUrl)['total_results']
	except:
		movie.numReviews=0
	try:
		movie.description=data['overview'] if data['overview'] else ''
	except:
		movie.description='' 
	actorsUrl=theMovieDBUrl + '/movie/' + str(identifiers.sourceID) + '/credits?api_key=' + movieDBKey
	try:
		actors=safeRequestJSON(actorsUrl)['cast']
		movie.actors=''
		for actor in actors[:numOfStarringActorsDB]:	
			if 	actor !=actors[numOfStarringActorsDB-1]:
				movie.actors+=actor['name'] + actorsDelimiter
			else:	
				movie.actors+=actor['name']
	except:		   
		movie.actors=''
	return movie
Example #3
0
def aggregateMovies(first,second):
	commonIndexes=[]
	finalMovies=[]
	for firstMovie in first:
	    finalMovie=Movie()
	    finalMovie.title=firstMovie.title
	    finalMovie.year=firstMovie.year
	    for index,secondMovie in enumerate(second):
	        if secondMovie.title==firstMovie.title and secondMovie.year==firstMovie.year:
	            finalMovie.numReviews=secondMovie.numReviews+firstMovie.numReviews
	            finalMovie.description=max([secondMovie.description,firstMovie.description], key=len)
	            actorsList=set(firstMovie.actors.split(actorsDelimiter) + secondMovie.actors.split(actorsDelimiter))
	            actorsList = list(firstMovie.actors.split(actorsDelimiter))
	            actorsList.extend(x for x in secondMovie.actors.split(actorsDelimiter) if x not in actorsList)
	            for actor in actorsList:	
	            	if 	actor !=actorsList[-1]:
	            		finalMovie.actors+=actor + actorsDelimiter
	            	else:	
	            		finalMovie.actors+=actor
	            commonIndexes.append(index)
	            break
	        elif secondMovie==second[-1]:
	            finalMovie.numReviews=firstMovie.numReviews
	            finalMovie.description=firstMovie.description	    
	            finalMovie.actors=firstMovie.actors
	    finalMovies.append(finalMovie)    
	for index,secondMovie in enumerate(second):
	    if index not in commonIndexes:
	        finalMovie=Movie()
	        finalMovie.title=secondMovie.title
	        finalMovie.year=secondMovie.year
	        finalMovie.numReviews=secondMovie.numReviews
	        finalMovie.description=secondMovie.description
	        finalMovie.actors=secondMovie.actors
	        finalMovies.append(finalMovie)
   	return finalMovies