pyinfra/scripts/manage_minio.py
Julius Unverfehrt 4edf04ab24 Pull request #1: Add storage handle
Merge in RR/mini_queue from add-storage-handle to master

Squashed commit of the following:

commit 03e542d2a65802c28735873fae184209f0c83553
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 11:55:34 2022 +0100

    Quickfix typo

commit b4d538e9445187435d87c5cf8ce1f4e448021129
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 11:41:42 2022 +0100

    added prefetch count and make channel function

commit d46d1375e387d36641c06b062a8ccc54f114ef4c
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 11:20:39 2022 +0100

    black on M.s request

commit bc47b20312a978f19b08531804bf42b00f0a88f0
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 11:19:57 2022 +0100

    changed response

commit 9a475ecd8df9ca007e5f7fe146483b6403eccc3b
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 10:15:08 2022 +0100

    .

commit 108bc3ea90d867575db8c1b1503c9df859222485
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 09:56:56 2022 +0100

    quickrestore

commit ae04d17d8d041f612d86117e8e96c96ddffcbde3
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 09:37:30 2022 +0100

    refactor

commit 68051a72eb93868eba8adba234258b9e5373ecaa
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 08:50:59 2022 +0100

    added answer file template for rancher

commit 09ef45ead51c07732a20133acad0b8b2ae7d0a61
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 08:26:05 2022 +0100

    Quickfix inconsistency

commit d925b0f3f91f29403c88fb6149566ec966af2973
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Wed Feb 16 08:20:40 2022 +0100

    Quick refactor

commit 48795455cde8d97ed98e58c3004a87a26f331352
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Tue Feb 15 17:46:45 2022 +0100

    bluckckck

commit 80e58efab0269dc513990f83b14ceb36b3e4dd8e
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Tue Feb 15 17:45:49 2022 +0100

    Quick restatus setting

commit 83f276ee13348a678b7da84e25ca844dd348b4c9
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Tue Feb 15 17:30:16 2022 +0100

    Quickreset to working status

commit d44cdcf922250639a6832cc3e16d0d967d9853fb
Author: Julius Unverfehrt <Julius.Unverfehrt@iqser.com>
Date:   Tue Feb 15 14:44:26 2022 +0100

    added storage handle for minio WIP
2022-02-16 11:57:52 +01:00

52 lines
1.5 KiB
Python

import argparse
import os
from tqdm import tqdm
from mini_queue.utils.minio import MinioHandle
def parse_args():
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(help="sub-command help", dest="command")
parser_add = subparsers.add_parser("add", help="Add file(s) to the MinIO store")
parser_add.add_argument("dossier_id")
add_group = parser_add.add_mutually_exclusive_group(required=True)
add_group.add_argument("--file", "-f")
add_group.add_argument("--directory", "-d")
parser_remove = subparsers.add_parser("remove", help="Remove a file from the MinIO store")
parser_remove.add_argument("dossier_id")
parser_remove.add_argument("file_path")
subparsers.add_parser("purge", help="Delete all files and buckets in the MinIO store")
args = parser.parse_args()
return args
if __name__ == "__main__":
client = MinioHandle()
args = parse_args()
if args.command == "add":
if args.file:
client.add_file_compressed(args.file, folder=args.dossier_id)
elif args.directory:
for fname in tqdm([*os.listdir(args.directory)], desc="Adding files"):
path = os.path.join(args.directory, fname)
client.add_file_compressed(path, folder=args.dossier_id)
elif args.command == "remove":
fname = os.path.basename(args.file_path)
client.remove_file(folder=args.dossier_id, filename=fname)
elif args.command == "purge":
client.purge()