From 82f1a406b92cd4e51391c13e07730dcd55d7fca0 Mon Sep 17 00:00:00 2001 From: Henry Corse Date: Sun, 11 Dec 2022 20:23:28 -0500 Subject: [PATCH] Have init almost fully working --- rdify | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/rdify b/rdify index 7a7273e..1e88c70 100755 --- a/rdify +++ b/rdify @@ -2,6 +2,7 @@ # Script to ramdiskify things import argparse +import os import shutil import subprocess import sys @@ -11,11 +12,20 @@ def eprint(*args, **kwargs): print(*args, file=sys.stderr, **kwargs) def init(target, persist): - ramdisk = Path("/dev/shm/ramdisk") - ramdisk.mkdir(parents=True, exist_ok=True) target = Path(target) persist = Path(persist) persist.mkdir(parents=True, exist_ok=True) + ramdisk = Path("/dev/shm/ramdisk") + ramdisk.mkdir(parents=True, exist_ok=True) + + full_dest_path = ramdisk.joinpath(target.name) + if target.is_file(): + shutil.copy2(target, ramdisk) + else: + shutil.copytree(target, full_dest_path) + shutil.move(target, persist) + + os.symlink(full_dest_path, target) def sync(target, persist): @@ -46,6 +56,16 @@ def main(): eprint(f"Target: {args.target} doesn't exist!") return + if args.init: + init(args.target, args.persist) + elif args.sync: + sync(args.target, args.persist) + elif args.loop-sync: + loop_sync(args.target, args.persist) + elif args.cleanup: + cleanup(args.target, args.perist) + else: + pass if __name__ == "__main__": main()