From 808ab57ea9688fcea33ab0ea3779949d581b548a Mon Sep 17 00:00:00 2001 From: felixm Date: Fri, 28 Oct 2022 13:47:27 -0400 Subject: [PATCH] Remove dead code and auto-reformat --- src/epub.py | 31 +++++++++++++++++++++---------- src/pokemon.py | 14 +++++++++----- test/test_pokemon.py | 36 +++++++++++++++++++++--------------- 3 files changed, 51 insertions(+), 30 deletions(-) diff --git a/src/epub.py b/src/epub.py index 5161641..b774cee 100644 --- a/src/epub.py +++ b/src/epub.py @@ -23,7 +23,6 @@ def create_pokedex_chapter(pokemon: List[Pokemon]) -> epub.EpubHtml: content = ["

Pokedex

"] for p in pokemon: - p_id = p.name.lower().replace(". ", "") content.append(f'') content.append( f'

[Pokemon {p.name}]

' @@ -60,32 +59,44 @@ def patch_chapter(chapter: epub.EpubHtml, pokemon_lookup: Dict[str, Pokemon]): link = pokemon_name_to_link(p, word) result.append(link) result.append([]) - elif word == "Mr" and index + 2 < len(chunks) and \ - chunks[index + 1] == ". " and chunks[index + 2] == "Mime": + elif ( + word == "Mr" + and index + 2 < len(chunks) + and chunks[index + 1] == ". " + and chunks[index + 2] == "Mime" + ): # Handle "Mr. Mime" which is split into ["Mr", ". ", "Mime"] p = pokemon_lookup["mr. mime"] p.appears_in_book = True - name = "".join(chunks[index:index + 3]) + name = "".join(chunks[index : index + 3]) link = pokemon_name_to_link(p, name) index += 2 result.append(link) result.append([]) - elif word.lower() == "farfetch" and index + 2 < len(chunks) and \ - chunks[index + 1] == "’" and chunks[index + 2] == "d": + elif ( + word.lower() == "farfetch" + and index + 2 < len(chunks) + and chunks[index + 1] == "’" + and chunks[index + 2] == "d" + ): # Handle "farfetch'ed" p = pokemon_lookup["farfetch'd"] p.appears_in_book = True - name = "".join(chunks[index:index + 3]) + name = "".join(chunks[index : index + 3]) link = pokemon_name_to_link(p, name) index += 2 result.append(link) result.append([]) - elif word.lower() == "sirfetch" and index + 2 < len(chunks) and \ - chunks[index + 1] == "’" and chunks[index + 2] == "d": + elif ( + word.lower() == "sirfetch" + and index + 2 < len(chunks) + and chunks[index + 1] == "’" + and chunks[index + 2] == "d" + ): # Handle "sirfetch'ed" p = pokemon_lookup["sirfetch'd"] p.appears_in_book = True - name = "".join(chunks[index:index + 3]) + name = "".join(chunks[index : index + 3]) link = pokemon_name_to_link(p, name) index += 2 result.append(link) diff --git a/src/pokemon.py b/src/pokemon.py index acbf5a6..bb822fc 100644 --- a/src/pokemon.py +++ b/src/pokemon.py @@ -57,7 +57,9 @@ def download_national_index_html(national_index_filename: str): def get_pokemon_table_row_soups(national_index_filename: str) -> List[BeautifulSoup]: with open(national_index_filename, "r") as r: soup = BeautifulSoup(r, "html.parser") - pokemon_list_soup = soup.find(id="List_of_Pokémon_by_National_Pokédex_number").parent + pokemon_list_soup = soup.find( + id="List_of_Pokémon_by_National_Pokédex_number" + ).parent generation_soups = pokemon_list_soup.find_next_siblings("h3") table_row_soups = [] for generation_soup in generation_soups: @@ -81,8 +83,7 @@ def extract_pokemon_from_table_row(table_row_soup: BeautifulSoup) -> Pokemon: index = table_row_soup.find_next("td").next_sibling.next_sibling.text.strip() html_url = ( - BULBAPEDIA_BASE_URL - + table_row_soup.find_next("th").next_element.attrs["href"] + BULBAPEDIA_BASE_URL + table_row_soup.find_next("th").next_element.attrs["href"] ) img_url = table_row_soup.find("img").attrs["src"] html_filename = os.path.join(POKEMON_CACHE_DIRECTORY, name.lower() + ".html") @@ -105,7 +106,7 @@ def get_pokemon() -> List[Pokemon]: os.mkdir(POKEMON_CACHE_DIRECTORY) national_index_filename = os.path.join(POKEMON_CACHE_DIRECTORY, "pokedex.html") download_national_index_html(national_index_filename) - table_row_soups = get_pokemon_table_row_soups(national_index_filename) + table_row_soups = get_pokemon_table_row_soups(national_index_filename) pokemon = [] for table_row_soup in track(table_row_soups, description="Download Pokemon"): @@ -152,7 +153,10 @@ def extend_pokemon(p: Pokemon): if not os.path.isfile(p.img_filename): img_url = ( - content_soup.find("table").find_next_sibling("table").find("img").attrs["src"] + content_soup.find("table") + .find_next_sibling("table") + .find("img") + .attrs["src"] ) img_url = img_url.replace("//", "https://") p.img_url = img_url diff --git a/test/test_pokemon.py b/test/test_pokemon.py index fd32736..f6351e0 100644 --- a/test/test_pokemon.py +++ b/test/test_pokemon.py @@ -1,4 +1,4 @@ -import pokemon +import pokemon import os import filecmp @@ -8,31 +8,37 @@ def test_download_national_index_html(tmp_path): pokemon.download_national_index_html(pokemon_html) assert os.path.getsize(pokemon_html) > 500000 + def test_get_pokemon_table_row_soups(): national_index = "test/test_pokedex.html" - row_soups = pokemon.get_pokemon_table_row_soups(national_index) + row_soups = pokemon.get_pokemon_table_row_soups(national_index) assert len(row_soups) == 994 + def test_extract_pokemon_from_table_row(tmp_path): national_index = "test/test_pokedex.html" pokemon.POKEMON_CACHE_DIRECTORY = tmp_path - row_soups = pokemon.get_pokemon_table_row_soups(national_index) + row_soups = pokemon.get_pokemon_table_row_soups(national_index) p = pokemon.extract_pokemon_from_table_row(row_soups[42]) - assert p.name == 'Vulpix' - assert p.link_id == 'vulpix' - assert p.index == '#037' - assert p.html_url == 'https://bulbapedia.bulbagarden.net/wiki/Vulpix_(Pok%C3%A9mon)' - assert p.img_url == '//archives.bulbagarden.net/media/upload/thumb/3/35/037Vulpix-Alola.png/70px-037Vulpix-Alola.png' - assert p.img_filename.endswith('vulpix.png') - assert p.json_filename.endswith('vulpix.json') - assert p.description == '' + assert p.name == "Vulpix" + assert p.link_id == "vulpix" + assert p.index == "#037" + assert p.html_url == "https://bulbapedia.bulbagarden.net/wiki/Vulpix_(Pok%C3%A9mon)" + assert ( + p.img_url + == "//archives.bulbagarden.net/media/upload/thumb/3/35/037Vulpix-Alola.png/70px-037Vulpix-Alola.png" + ) + assert p.img_filename.endswith("vulpix.png") + assert p.json_filename.endswith("vulpix.json") + assert p.description == "" assert p.appears_in_book == False + def test_extend_pokemon(tmp_path): national_index = "test/test_pokedex.html" - row_soups = pokemon.get_pokemon_table_row_soups(national_index) + row_soups = pokemon.get_pokemon_table_row_soups(national_index) p = pokemon.extract_pokemon_from_table_row(row_soups[42]) - p.img_filename = tmp_path / 'vulpix.png' + p.img_filename = tmp_path / "vulpix.png" pokemon.extend_pokemon(p) - assert filecmp.cmp(p.img_filename, 'test/test_vulpix.png') - assert p.description.startswith("Vulpix (Japanese: \u30ed\u30b3\u30f3 Rokon)") \ No newline at end of file + assert filecmp.cmp(p.img_filename, "test/test_vulpix.png") + assert p.description.startswith("Vulpix (Japanese: \u30ed\u30b3\u30f3 Rokon)")