X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=upl;h=5a428c94ff899ba95940fb1ffc3520b0b9b026b3;hb=6798937faee881869fa22a839d8db26aa7ff2b40;hp=3f494f5c73dca668d7b95b73c26c618b8a39bbc4;hpb=5993a5e489944345ece7475a59cad439f516a0c5;p=bin.git diff --git a/upl b/upl index 3f494f5..5a428c9 100755 --- a/upl +++ b/upl @@ -1,20 +1,51 @@ #!/usr/bin/env python3 -import os.path -from shutil import copyfile -import sys +import argparse +from os import path, makedirs +from pathlib import Path +from shutil import copyfile -endp = "https://s3.us-east-2.wasabisys.com/armaan-public/" -wabin = "/home/armaa/.local/mnt/public/" -inp = sys.argv[1] +def parse_args(): + parser = argparse.ArgumentParser( + description="Copy file to Wasabi-mounted directory") + parser.add_argument("input", type=str, nargs=1, help="input file") + parser.add_argument("output", type=str, nargs="*", help="output path") + parser.add_argument("-p", "--private", action="store_true", + help="Copy to private directory") + parser.add_argument("-m", "--mkdir", action="store_true", + help="Create parent directories if necesary") -if len(sys.argv) >= 3: - out = sys.argv[2] -else: - out = inp + return parser.parse_args() -if not out: - out = os.path.basename(inp) +def outp(args): + if not args.output: + out = path.basename(args.input[0]) + else: + out = args.output[0] + return out -copyfile(inp, wabin + out) -print(endp+out) +def main(args): + out = outp(args) + inp = args.input[0] + + if args.private: + s3path = priv_path + s3bin = priv_bin + else: + s3path = pub_path + s3bin = pub_bin + + fpath = s3path + out + if args.mkdir and not path.exists(fpath): + makedirs(Path(fpath).parent) + + copyfile(inp, fpath) + print(endp + s3bin + "/" + out) + +if __name__ == "__main__": + endp = "https://s3.us-east-2.wasabisys.com/" + pub_path = "/home/armaa/.local/mnt/public/" + pub_bin = "armaan-public" + priv_path = "/home/armaa/.local/mnt/private/" + priv_bin = "armaan-private" + main(parse_args())