]> git.armaanb.net Git - bin.git/blobdiff - upl
signal-finder: add script
[bin.git] / upl
diff --git a/upl b/upl
index 3f494f5c73dca668d7b95b73c26c618b8a39bbc4..5a428c94ff899ba95940fb1ffc3520b0b9b026b3 100755 (executable)
--- 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())