From de8ee32fc3b768060fd58c8eb0bfe8ec7d9f9c07 Mon Sep 17 00:00:00 2001 From: Anon Date: Sun, 12 Mar 2023 16:27:11 -0700 Subject: [PATCH] Refactored pick to return dictionary --- src/main.py | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/main.py b/src/main.py index 5ae3913..20d1057 100755 --- a/src/main.py +++ b/src/main.py @@ -142,9 +142,6 @@ class YandereBot(FediBot.YandereBot): print(e) raise MissingMasterList - def get_post_text(self, picked, media_list): - super(YandereBot, self).get_post_text(picked.get_post_setting()["message"], media_list) - def load_picture_list(self): list_blacklist = self.read_blacklist_files() self.listPictures = self.load_pictures(list_blacklist) @@ -162,11 +159,20 @@ class YandereBot(FediBot.YandereBot): )) def pick(self): - return self.listPictures.pop(0) + picked = self.listPictures.pop(0) + media_list = self.get_media_list(picked) + spoiler = picked.get_post_setting()["spoiler"] + message = picked.get_post_setting()["message"] + return { + "picked": picked, + "media_list": media_list, + "spoiler": spoiler, + "message": message, + } def after_pick(self, picked): - self.blacklist(picked) - self.print_header_stats(picked) + self.blacklist(picked["picked"]) + self.print_header_stats(picked["picked"]) def post(self, picked): reinsert_image = False @@ -174,7 +180,7 @@ class YandereBot(FediBot.YandereBot): return super(YandereBot, self).post(picked) # Attempted to post a file that doesn't exist (immediately repost ignoring retry_seconds) except (FileNotFoundError, FediBot.InvalidPost): - print("File not found:", picked.get_hash_path()) + print("File not found:", picked["picked"].get_hash_path()) reinsert_image = False # Check if the file limit has been reached @@ -199,7 +205,7 @@ class YandereBot(FediBot.YandereBot): reinsert_image = True if reinsert_image and self.consecutive_failed_uploads < self.settings["settings_behavior"]["max_errors"]: - self.listPictures.insert(0, picked) + self.listPictures.insert(0, picked["picked"]) self.handle_post_exception() @@ -210,6 +216,12 @@ class YandereBot(FediBot.YandereBot): def can_post(self): return bool(len(self.listPictures)) and super(YandereBot, self).can_post() + def start(self): + super(YandereBot, self).start() + + # Return 1 if there are still pictures in the picture list + return len(self.listPictures) > 0 + class FailedToLoadCfg(Exception): pass