3rd/run.py
2025-12-25 15:21:06 +01:00

56 lines
1.4 KiB
Python

import typing
import argparse
from src.Config import Config
from src.Stdout import Stdout
from src.Upload.Aws import Aws
from src.Archive.Archive import Archive
from src.Enums import StdoutLevel, Namespace
stdout = Stdout(Namespace.CLI)
def autorun() -> None:
"""
Autorun
"""
for item in Config().config["archive"]:
stdout.info(f"Autorun: {item}")
Aws(Archive(item)).upload()
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Testing")
parser.add_argument("-s", "--sleep", type=int, help="Global log sleep level")
parser.add_argument("-a", "--autorun", action="store_true", help="Autorun")
parser.add_argument("-d", "--dryrun", action="store_true", help="Dry run")
parser.add_argument("-l", "--log-level", type=str, help="Global log level")
args = parser.parse_args()
# Set custom global sleep level
if args.sleep:
Stdout.global_sleep = args.sleep
stdout.ok(f"Setting global log sleep level to: {Stdout.global_sleep} second(s)")
# Set custom global log level
if args.log_level:
try:
Stdout.global_level = StdoutLevel[args.log_level.upper()]
stdout.ok(f"Setting global log level to: {Stdout.global_level}")
except KeyError:
raise ValueError(f"{args.log_level} is not a valid StdoutLevel")
# Set enable dry run
if args.dryrun:
Aws.dry_run = True
stdout.ok("Dry run enabled")
stdout.log("Starting...")
# Autorun archives from config
if args.autorun:
autorun()
stdout.log("Finished!")