def import_actor(start, end): person_list = [] for i in range(start, end): try: p = Person().details(i) tmdb_id = p.id imdb_id = p.imdb_id name = p.name biography = p.biography profile_path = p.profile_path gender = "Other" # 0 - Not specified 1 - Female 2 - Male 3 - no binary if p.gender == 2: gender = "Male" elif p.gender == 1: gender = "Female" date_birth = p.birthday actor = DbActor(tmdb_id, imdb_id, name, biography, profile_path, gender, date_birth) person_list.append(actor) print(actor.tmdb_id, actor.imdb_id, actor.name, actor.profile_path, actor.gender, actor.date_birth) # print(actor.biography) except TMDbException: pass return person_list
def tmdb_get_metadata(config_path, data, type): # Instantiate TMDB objects tmdb_id = int(data) api_key = config_tools.TMDB(config_path).apikey language = config_tools.TMDB(config_path).language is_movie = config_tools.Plex(config_path).library_type == "movie" if type in ["overview", "poster", "backdrop"]: collection = Collection() collection.api_key = api_key collection.language = language try: if type == "overview": meta = collection.details(tmdb_id).overview elif type == "poster": meta = collection.details(tmdb_id).poster_path elif type == "backdrop": meta = collection.details(tmdb_id).backdrop_path except AttributeError: media = Movie() if is_movie else TV() media.api_key = api_key media.language = language try: if type == "overview": meta = media.details(tmdb_id).overview elif type == "poster": meta = media.details(tmdb_id).poster_path elif type == "backdrop": meta = media.details(tmdb_id).backdrop_path except AttributeError: raise ValueError( "| TMDb Error: TMBd {} ID: {} not found".format( "Movie/Collection" if is_movie else "Show", tmdb_id)) elif type in ["biography", "profile", "name"]: person = Person() person.api_key = api_key person.language = language try: if type == "biography": meta = person.details(tmdb_id).biography elif type == "profile": meta = person.details(tmdb_id).profile_path elif type == "name": meta = person.details(tmdb_id).name except AttributeError: raise ValueError( "| TMDb Error: TMBd Actor ID: {} not found".format(tmdb_id)) else: raise RuntimeError( "type {} not yet supported in tmdb_get_metadata".format(type)) if meta is None: raise ValueError("| TMDb Error: TMDB ID {} has no {}".format( tmdb_id, type)) elif type in ["profile", "poster", "backdrop"]: return "https://image.tmdb.org/t/p/original" + meta else: return meta
def setUp(self): self.tmdb = TMDb() self.tmdb.api_key = os.environ['TMDB_API_KEY'] self.tmdb.language = "en" self.tmdb.debug = True self.tmdb.wait_on_rate_limit = True self.tmdb.cache = False self.person = Person()
def setUp(self): self.tmdb = TMDb() self.tmdb.api_key = os.environ['api_key'] self.movie = Movie() self.discover = Discover() self.tv = TV() self.person = Person() self.collection = Collection() self.company = Company() self.season = Season()
def tmdb_get_summary(data, type): collection = Collection() person = Person() collection.api_key = config_tools.TMDB().apikey person.api_key = collection.api_key collection.language = config_tools.TMDB().language person.language = collection.language if type == "overview": return collection.details(data).overview elif type == "biography": return person.details(data).biography
def setUp(self): self.tmdb = TMDb() self.tmdb.api_key = os.environ['TMDB_API_KEY'] self.tmdb.language = 'en' self.tmdb.debug = True self.tmdb.wait_on_rate_limit = True self.movie = Movie() self.discover = Discover() self.tv = TV() self.person = Person() self.collection = Collection() self.company = Company() self.season = Season()
def makeWebhookResult(data): print("starting makeWebhookResult...") res = data['results'] result = res[0] id = result['id'] person = Person() p = person.details(id) speech = "Here is a short biography of " + p.name + ": \n\n" + p.biography print("Response:") print(speech) return {"fulfillmentText": speech, "source": "apiai-movie-webhook-sample"}
def setUp(self): self.tmdb = TMDb() self.tmdb.api_key = os.environ["TMDB_API_KEY"] self.tmdb.language = "en" self.tmdb.debug = True self.tmdb.wait_on_rate_limit = True self.movie = Movie() self.discover = Discover() self.tv = TV() self.person = Person() self.collection = Collection() self.company = Company() self.network = Network() self.search = Search() self.season = Season() self.list = List()
def tmdb_get_summary(config_path, data, type): # Instantiate TMDB objects collection = Collection() collection.api_key = config_tools.TMDB(config_path).apikey collection.language = config_tools.TMDB(config_path).language person = Person() person.api_key = collection.api_key person.language = collection.language # Return object based on type if type == "overview": return collection.details(data).overview elif type == "biography": return person.details(data).biography elif type == "poster_path": return collection.details(data).poster_path elif type == "profile_path": return person.details(data).profile_path else: raise RuntimeError("type not yet supported in tmdb_get_summary")
def clean_votes(award, vote_list): actor_contain = 'performance' in award or 'director' in award or 'screenplay' in award or 'score' in award or 'actor' in award or 'actress' in award if(not actor_contain): actor_contain = award in PEOPLE_AWARDS mov_contain = 'motion picture' in award or 'feature' in award or 'film' in award if(not mov_contain): mov_contain = award in ENTITY_AWARDS tv_contain = 'television' in award cleaned_votes = [] if(actor_contain): for vote in vote_list: text = vote[0] person = Person() result = person.search(text) if(len(result) > 0): res = str(result[0]) ind = get_curr_index(res, cleaned_votes) if(ind != -1): cleaned_votes[ind][1] = cleaned_votes[ind][1] + vote[1] else: cleaned_votes.append([res, vote[1]]) elif(mov_contain): for vote in vote_list: text = vote[0] movie = Movie() result = movie.search(text) if(len(result) > 0): res = str(result[0]) ind = get_curr_index(res, cleaned_votes) if(ind != -1): cleaned_votes[ind][1] = cleaned_votes[ind][1] + vote[1] else: cleaned_votes.append([res, vote[1]]) if(tv_contain and not actor_contain): for vote in vote_list: text = vote[0] tv = TV() result = tv.search(text) if(len(result) > 0): res = str(result[0]) ind = get_curr_index(res, cleaned_votes) if(ind != -1): cleaned_votes[ind][1] = cleaned_votes[ind][1] + vote[1] else: cleaned_votes.append([res, vote[1]]) return cleaned_votes
def present_voter(tweets, award, nom_list): curr_votes_list = [] for tweet in tweets: tweet_text = tweet["text"] tweet_tags = tweet["tags"] people = tweet_tags[0] # contains = award in tweet_text contains = partial_award_check(award.lower(), tweet_text) if(contains): for person in people: ind = get_curr_index(person, curr_votes_list) if(ind != -1): curr_votes_list[ind][1] = curr_votes_list[ind][1] + 1 else: curr_votes_list.append([person, 1]) cleaned_votes = [] for vote in curr_votes_list: text = vote[0] person = Person() result = person.search(text) if(len(result) > 0): res = str(result[0]) if(res in nom_list): continue ind = get_curr_index(res, cleaned_votes) if(ind != -1): cleaned_votes[ind][1] = cleaned_votes[ind][1] + vote[1] else: cleaned_votes.append([res, vote[1]]) cleaned_votes.sort(key=vote_sort, reverse=True) count = 0 presenters_list = [] for vote in cleaned_votes: if(count == 1): break presenters_list.append(vote[0]) count += 1 return presenters_list
def __init__(self): api_key = "e9ee4dd66aa205b259f29ccb98e9a989" self.tmdb = TMDb() self.tmdb.api_key = api_key self.tmdb.language = 'en' self.tmdb.debug = True self.movie = Movie(self.tmdb) self.discover = Discover(self.tmdb) # build the genre database self.genre = Genre(self.tmdb) genres = self.genre.movie_list() # list self.genres_dict = {} # a dict with keys: genre names and values: id for g in genres: self.genres_dict[g.name] = g.id # build the language database (ISO 639-1) self.language_dict = {} with open('./csv/language-codes_csv.csv', newline='') as csvfile: reader = csv.reader(csvfile, delimiter=',') for row in reader: self.language_dict[row[1]] = row[0] self.person = Person(self.tmdb) self.company = Company(self.tmdb) # initialize the searching attributes self.search_genre = None self.search_without_genre = None self.search_cast = None self.search_crew = None self.search_people = None self.search_company = None self.search_year = None self.search_upper_year = None self.search_lower_year = None self.search_rating = None self.search_language = None
def options_tmdb(): print("") print("Type 0 to go exit the program.") print("Type 1 to get a list of the top 20 popular movies.") print("Type 2 to search for a movie.") print("Type 3 to see movie details by ID.") print("Type 4 to search for a serie.") print("Type 5 to search for information about a actor or actress.") TMDB_options = input( "What do you want to do on The movie database? Type a number from one of the options above. " ) print("") if (TMDB_options == "0"): exit() if (TMDB_options == "1"): popular = movie.popular() for p in popular: print("ID:", p.id) print("Title:", p.title) print("__________________________________________________") print("") time.sleep(3) options_tmdb() if (TMDB_options == "2"): search_input = input( "Type here the name of the movie you want to search: ") search_movie = movie.search(search_input) for res in search_movie: print("Movie ID:", res.id) print("Movie Title:", res.title) print("Average rating movie:", res.vote_average) print("__________________________________________________") print("") time.sleep(3) options_tmdb() if (TMDB_options == "3"): input_id = input( "What is the ID of the movie you want to know more about? ") m = movie.details(input_id) print("Movie title:", m.title) print("") print("Movie description:") print(m.overview) print("__________________________________________________") print("") time.sleep(3) options_tmdb() if (TMDB_options == "4"): show_input = input( "Type here the name of the serie you want to search: ") show = tv.search(show_input) for result in show: print("Serie title:", result.name) print("") print("Serie description:") print(result.overview) print("__________________________________________________") print("") time.sleep(3) options_tmdb() if (TMDB_options == "5"): print( "Who do you want to search? Please fill in the firstname and surname of the actor or actress." ) firstname = input("Firstname: ") surname = input("Surname: ") print("") fullname = firstname + "+" + surname url = "https://api.themoviedb.org/3/search/person?api_key=" + tmdb.api_key + "&query=" + fullname actordata = requests.get(url) x = actordata.text idfront = x.index("id") + 4 idback = x.index("known") - 2 id = x[idfront:idback] person = Person() p = person.details(id) print("Name actor/actress:", p.name) print("") print("Biography actor/actress:") print(p.biography) print("") time.sleep(3) options_tmdb() else: print( "You didn't type in one of the numbers in the list, Please try again." ) options_tmdb()
# import of python modules import configparser import time import requests # import of the movie database module from tmdbv3api import TMDb from tmdbv3api import Movie from tmdbv3api import TV from tmdbv3api import Person # variables for the movie database module tmdb = TMDb() movie = Movie() tv = TV() person = Person() # reading the ini files for the offline genres of movies and series config = configparser.ConfigParser() config.read("moviegenre.ini") config.read("seriegenre.ini") # start by asking The movie database account or not def start(): TMDB_or_not = input( "Do you have an account for The movie database? type 'y' for yes and 'n' for no " ) if (TMDB_or_not == "y"): print( "You selected yes, you will be directed to The movie database login."