From 5dfacd4d18ed316a442a762a8f148d9300b3a152 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Sat, 23 Apr 2022 09:32:51 -0400 Subject: [PATCH 1/2] 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) From c03c0e6e9a449755327f7e8c96c2f640d416f0c2 Mon Sep 17 00:00:00 2001 From: Ray Lyon Date: Sat, 23 Apr 2022 09:39:06 -0400 Subject: [PATCH 2/2] more logging --- telegram-moviebot/telegram-moviebot.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/telegram-moviebot/telegram-moviebot.py b/telegram-moviebot/telegram-moviebot.py index 4a46940..391fee5 100644 --- a/telegram-moviebot/telegram-moviebot.py +++ b/telegram-moviebot/telegram-moviebot.py @@ -70,6 +70,7 @@ def movie_lookup(movie): if movie_id == "404": tg_reply = ("I'm having trouble finding that movie\. " + "Check your spelling and try again\.") + logger.info('Movie not found in TMDB.') similarity = 0 return tg_reply, similarity @@ -77,6 +78,7 @@ def movie_lookup(movie): if sa_response == "404": tg_reply = ("I'm having trouble finding that movie\. " + "Check your spelling and try again\.") + logger.info('Movie not found by the Streaming Availability API.') similarity = 0 return tg_reply, similarity @@ -119,6 +121,7 @@ def input_movie(update: Update, context: CallbackContext): context.bot.send_message(chat_id=update.effective_chat.id, text=movie_info, parse_mode=ParseMode.MARKDOWN_V2) if similarity < .80 and similarity != 0: + logger.info("Result accuracy was below the threshold. Sending follow-up message.") followup_msg = ("Not the movie you're looking for? " + "Try adding '\-year' followed by the release year after the title\.") context.bot.send_message(chat_id=update.effective_chat.id,