From 714382bfe3e33b35bdd40c8bcac629f8dd37e3ab Mon Sep 17 00:00:00 2001 From: Tom Casavant Date: Sun, 5 May 2024 13:46:57 -0400 Subject: [PATCH 1/2] Added gameboy color option --- bot.py | 9 +++++---- config.toml.example | 3 ++- gameboycolor.png | Bin 0 -> 29891 bytes gb.py | 12 ++++++------ 4 files changed, 13 insertions(+), 11 deletions(-) create mode 100644 gameboycolor.png diff --git a/bot.py b/bot.py index 0fe6efd..097aeec 100644 --- a/bot.py +++ b/bot.py @@ -156,7 +156,7 @@ def retry_mastodon_call(self, func, *args, retries=5, interval=10, **kwargs): for _ in range(retries): try: return func(*args, **kwargs) - except RequestException as e: + except Exception as e: print(f"Failure to execute {func.__name__}: {e}") time.sleep(interval) return False # Failed to execute @@ -189,7 +189,7 @@ def run(self): frames = self.gameboy.loop_until_stopped() result = False if frames >= 70: - result = self.gameboy.build_gif("gif_images") + result = self.gameboy.build_gif("gif_images", self.gameboy_config['gif_outline']) else: gif_dir = os.path.join(self.script_dir, "gif_images") self.gameboy.empty_directory(gif_dir) @@ -207,7 +207,7 @@ def run(self): # Probably add a check here if generating a gif is enabled (so we don't # have to generate one every single hour?) try: - previous_frames = self.gameboy.get_recent_frames("screenshots", 25) + previous_frames = self.gameboy.get_recent_frames("screenshots", 25, self.gameboy_config['gif_outline']) previous_media = self.retry_mastodon_call( self.mastodon.media_post, retries=5, @@ -216,7 +216,8 @@ def run(self): description="Video of the previous 45 frames", ) media_ids = [media["id"], previous_media["id"]] - except BaseException: + except BaseException as e: + print(f"ERROR {e}") media_ids = [media["id"]] post = self.retry_mastodon_call( diff --git a/config.toml.example b/config.toml.example index dd0e1d4..041bd8d 100644 --- a/config.toml.example +++ b/config.toml.example @@ -5,4 +5,5 @@ poll_duration = 60 [gameboy] rom = "Pokemon - Gold Version.gbc" -title = "Pokémon Gold" \ No newline at end of file +title = "Pokémon Gold" +gif_outline="gameboy.png" diff --git a/gameboycolor.png b/gameboycolor.png new file mode 100644 index 0000000000000000000000000000000000000000..4e6e55c4cb369b4d4342d2a7d3d81fdd618f4a61 GIT binary patch literal 29891 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 W Date: Sun, 5 May 2024 13:51:42 -0400 Subject: [PATCH 2/2] Fixed pep8 issues --- bot.py | 5 ++++- gb.py | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bot.py b/bot.py index 097aeec..6c69995 100644 --- a/bot.py +++ b/bot.py @@ -207,7 +207,10 @@ def run(self): # Probably add a check here if generating a gif is enabled (so we don't # have to generate one every single hour?) try: - previous_frames = self.gameboy.get_recent_frames("screenshots", 25, self.gameboy_config['gif_outline']) + previous_frames = self.gameboy.get_recent_frames("screenshots", + 25, + self.gameboy_config['gif_outline'] + ) previous_media = self.retry_mastodon_call( self.mastodon.media_post, retries=5, diff --git a/gb.py b/gb.py index f5963d4..b0f7033 100644 --- a/gb.py +++ b/gb.py @@ -81,7 +81,11 @@ def get_recent_frames(self, directory, num_frames=100, gif_outline='gameboy.png' count += 1 shutil.copy(image, os.path.join(script_dir, "tmp", f"{count}.png")) - self.build_gif(os.path.join(script_dir, "tmp"), fps=5, output_name="test.mp4", gif_outline=gif_outline) + self.build_gif(os.path.join(script_dir, "tmp"), + fps=5, + output_name="test.mp4", + gif_outline=gif_outline + ) self.empty_directory(os.path.join(script_dir, "tmp")) return os.path.join(script_dir, "test.mp4")