From b18d2ea20ee2f998c661eac0adaa8f95e1fdcfa1 Mon Sep 17 00:00:00 2001 From: Anon Date: Wed, 26 Oct 2022 20:07:39 -0700 Subject: [PATCH] Readded -o switch --- src/main.py | 16 ++++++++++++---- src/yandere_bot.py | 5 +---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main.py b/src/main.py index 7e5083a..71ea1c0 100755 --- a/src/main.py +++ b/src/main.py @@ -20,7 +20,6 @@ import sys import argparse import signal import yandere_bot -import datetime import contextlib @@ -42,6 +41,7 @@ def main(): parser.add_argument("--debug", help="Same as --dry-run", action="store_true") parser.add_argument("-c", "--config", help="Set custom config file (Default: {})".format(default_cfg), default=default_cfg) parser.add_argument("-k", "--keyfile", help="Keyfile used for decryption") + parser.add_argument("-o", "--output", help="Output master list to stdout", action="store_true") parser.add_argument("remainder", help=argparse.SUPPRESS, nargs=argparse.REMAINDER) arguments = parser.parse_args() @@ -57,13 +57,21 @@ def main(): raise FailedToLoadCfg("Invalid config file: {}".format(arguments.config)) # Flag if the bot is running in debug mode - debug_mode = arguments.dry_run or arguments.debug + debug_mode = arguments.dry_run or arguments.debug or arguments.output yandere = yandere_bot.YandereBot( yandere_config, arguments.keyfile, debug_mode ) + + # Output master list if -o switch is set + if arguments.output: + with contextlib.redirect_stdout(None): + yandere.prime_bot() + for item in yandere.listPictures: + print(item.get_full_string()) + return 0 # Setup exit calls # Must be done after we declare our bot(s), otherwise this will be called if quitting on decrypting settings ) @@ -84,10 +92,10 @@ if __name__ == "__main__": sys.exit(main()) # Exceptions raised from the main function except FailedToLoadCfg: - sys.exit(10) + sys.exit(6) # Exceptions raised from the bot except yandere_bot.Debug: - sys.exit(6) + sys.exit(5) except yandere_bot.BadCfgFile: sys.exit(4) except yandere_bot.BadPostSettings: diff --git a/src/yandere_bot.py b/src/yandere_bot.py index 5593522..61e44de 100644 --- a/src/yandere_bot.py +++ b/src/yandere_bot.py @@ -71,14 +71,11 @@ class YandereBot: # @param cfg A dynamically loaded python module. See yanlib.module_load() for an example # @param keyfile Keyfile to decrypt settings_post # @param debug_mode Should the bot run in debug mode (do not sign in or post to Pleroma) - # @prime_bot Should the bot immediately prime itself (configure picture list and login, but don't post) - def __init__(self, cfg, keyfile=None, debug_mode=False, prime_bot=True): + def __init__(self, cfg, keyfile=None, debug_mode=False): self.cfg = cfg self.load_settings(self.cfg) self.debug_mode = debug_mode or self.settings_behavior["debug"] self.settings_encrypt["keyfile"] = keyfile or self.settings_encrypt["keyfile"] - if prime_bot: - self.prime_bot() # Setup Exit Calls def exit(self):