From 5dfacd4d18ed316a442a762a8f148d9300b3a152 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Sat, 23 Apr 2022 09:32:51 -0400 Subject: [PATCH] working -year flag --- telegram-moviebot/movie_check.py | 5 ++++- telegram-moviebot/telegram-moviebot.py | 17 +++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/telegram-moviebot/movie_check.py b/telegram-moviebot/movie_check.py index 959abb0..d7ecac5 100644 --- a/telegram-moviebot/movie_check.py +++ b/telegram-moviebot/movie_check.py @@ -5,7 +5,7 @@ import re from datetime import datetime -def tmdb_lookup(tmdb_url, tmdb_headers, movie): +def tmdb_lookup(tmdb_url, tmdb_headers, movie, year=None): movie = re.sub('[^a-zA-Z.\d\s]', '', movie) tmdb_params = { @@ -15,6 +15,9 @@ def tmdb_lookup(tmdb_url, tmdb_headers, movie): "include_adult": False } + if year: + tmdb_params["primary_release_year"] = year + tmdb_search = requests.get(f"{tmdb_url}/search/movie", params=tmdb_params, headers=tmdb_headers).json() diff --git a/telegram-moviebot/telegram-moviebot.py b/telegram-moviebot/telegram-moviebot.py index 47b2cdf..4a46940 100644 --- a/telegram-moviebot/telegram-moviebot.py +++ b/telegram-moviebot/telegram-moviebot.py @@ -53,10 +53,19 @@ def start(update: Update, context: CallbackContext): def movie_lookup(movie): - logger.info(f'Looking up movie: "{movie}"') + + if "-Year" in movie: + year = movie.split("-Year")[1].strip() + movie = movie.split("-Year")[0].strip() + logger.info(f'Looking up movie: "{movie}" ({year})') + movie_id, movie_title, movie_year, movie_rating = ( + movie_check.tmdb_lookup(tmdb_url, tmdb_headers, movie, year)) + else: + logger.info(f'Looking up movie: "{movie}"') + movie_id, movie_title, movie_year, movie_rating = ( + movie_check.tmdb_lookup(tmdb_url, tmdb_headers, movie)) + tmdb_page = "https://themoviedb.org/movie/" - movie_id, movie_title, movie_year, movie_rating = ( - movie_check.tmdb_lookup(tmdb_url, tmdb_headers, movie)) if movie_id == "404": tg_reply = ("I'm having trouble finding that movie\. " + @@ -111,7 +120,7 @@ def input_movie(update: Update, context: CallbackContext): text=movie_info, parse_mode=ParseMode.MARKDOWN_V2) if similarity < .80 and similarity != 0: followup_msg = ("Not the movie you're looking for? " + - "Sorry, I have to implement a 'year' function\.") + "Try adding '\-year' followed by the release year after the title\.") context.bot.send_message(chat_id=update.effective_chat.id, text=followup_msg, parse_mode=ParseMode.MARKDOWN_V2)