From daf93c2d4580e20e523f62f49b601d5ac9a03412 Mon Sep 17 00:00:00 2001 From: Sarah Date: Fri, 16 Dec 2022 22:06:25 +0000 Subject: [PATCH] fix bug where script throws exception if no page exists for a reference keyword --- wiki_pages/FilmsByReference.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/wiki_pages/FilmsByReference.py b/wiki_pages/FilmsByReference.py index e6d4da7..0695c52 100644 --- a/wiki_pages/FilmsByReference.py +++ b/wiki_pages/FilmsByReference.py @@ -43,15 +43,19 @@ def get_films_by_reference(viewings): page_title = page_title[0].upper() + page_title[1:] page_url = VCinemaUtils.generate_wikipedia_url(page_title) except wikipedia.PageError as _: - try: - referenced_page = wikipedia.page(title=searches[0], auto_suggest=False) + if len(searches) > 0: + try: + referenced_page = wikipedia.page(title=searches[0], auto_suggest=False) - page_title = referenced_page.title - page_url = referenced_page.url - except wikipedia.DisambiguationError as e: - page_title = e.title - page_title = page_title[0].upper() + page_title[1:] - page_url = VCinemaUtils.generate_wikipedia_url(page_title) + page_title = referenced_page.title + page_url = referenced_page.url + except wikipedia.DisambiguationError as e: + page_title = e.title + page_title = page_title[0].upper() + page_title[1:] + page_url = VCinemaUtils.generate_wikipedia_url(page_title) + else: + page_title = referenced.title() + page_url = None if page_title in films_by_reference.keys(): films_by_reference[page_title]["keywords"].append(keyword) @@ -85,7 +89,10 @@ def build_page(films_by_reference): reference_url = referenced["url"] referenced_films = referenced["films"] - row_data.append(VCinemaUtils.generate_markdown_link(reference, reference_url)) + if reference_url is None: + row_data.append(reference) + else: + row_data.append(VCinemaUtils.generate_markdown_link(reference, reference_url)) row_data.append(VCinemaUtils.get_film_list(referenced_films)) table += " | ".join(row_data)