From cec6de243fdeb1006456c24f0e347b5bfdda3924 Mon Sep 17 00:00:00 2001 From: DrgnFireYellow Date: Thu, 28 Dec 2023 10:58:18 -0500 Subject: [PATCH] Do not download artwork if artwork is already downloaded to increase speed and reduce network traffic --- main.py | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/main.py b/main.py index 8b09b70..4c7a1a4 100644 --- a/main.py +++ b/main.py @@ -104,25 +104,26 @@ def make_player(gamefile, system, htmlname): gamedisplayname += " " logging.info(f"Creating page for {game}") make_player(gamepath, system, game) + logging.info(f"Checking for artwork for {game}") + artworkpath = os.path.join("artwork", f"{game}.png") if downloadartwork: if system in artworksoups: - try: - logging.info(f"Downloading artwork for {game}") - artworkurl = ( - artworksoups[system] - .find(string=re.compile(rf"{gamedisplayname}")) - .parent["href"] - ) - with open(f"artwork/{game}.png", "wb") as artworkfile: - artworkfile.write( - requests.get( - ARTWORKURLS[system] + artworkurl, timeout=60 - ).content + if not os.path.exists(artworkpath): + try: + logging.info(f"Downloading artwork for {game}") + artworkurl = ( + artworksoups[system] + .find(string=re.compile(rf"{gamedisplayname}")) + .parent["href"] ) - except (TypeError, AttributeError, requests.Timeout): - logging.error(f"Unable to download artwork for {game}") - logging.info(f"Checking for artwork for {game}") - artworkpath = os.path.join("artwork", f"{game}.png") + with open(f"artwork/{game}.png", "wb") as artworkfile: + artworkfile.write( + requests.get( + ARTWORKURLS[system] + artworkurl, timeout=60 + ).content + ) + except (TypeError, AttributeError, requests.Timeout): + logging.error(f"Unable to download artwork for {game}") logging.info(f"Adding {game} to index") gamelisttable.add_row(gamedisplayname, game, system) if os.path.isfile(artworkpath):