Improve CLI DX

This commit is contained in:
Andras Schmelczer 2022-05-25 22:54:40 +02:00
commit b08e064e00

View file

@ -7,8 +7,10 @@ from great_ai.utilities.logger import create_logger
from .large_file import LargeFile
from .parse_arguments import parse_arguments
if __name__ == "__main__":
logger = create_logger("open_s3")
logger = create_logger("open_s3")
def main() -> None:
parser, args = parse_arguments()
LargeFile.configure_credentials_from_file(args.secrets)
@ -16,22 +18,27 @@ if __name__ == "__main__":
if not args.cache and not args.push and not args.delete:
logger.warning("No action required.")
parser.print_help()
if args.cache:
for c in args.cache:
split = c.split(":")
file_name = split[0]
version = None if len(split) == 1 else int(split[1])
LargeFile(file_name, "r", version=version).get()
if args.push:
for p in args.push:
path = Path(p)
LargeFile(path.name, "w").push(path)
if args.delete:
for f in args.delete:
LargeFile(f).delete()
if __name__ == "__main__":
try:
if args.cache:
for c in args.cache:
split = c.split(":")
file_name = split[0]
version = None if len(split) == 1 else int(split[1])
LargeFile(file_name, "r", version=version).get()
if args.push:
for p in args.push:
path = Path(p)
LargeFile(path.name, "w").push(path)
if args.delete:
for f in args.delete:
LargeFile(f).delete()
main()
except KeyboardInterrupt:
logger.warning("Exiting")
exit()