From 83def9bbfb2d262c7a90f71b0aa35366e8586684 Mon Sep 17 00:00:00 2001 From: lifegpc Date: Wed, 29 May 2024 17:41:42 +0800 Subject: [PATCH] Add link_helper.py --- link_helper.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 link_helper.py diff --git a/link_helper.py b/link_helper.py new file mode 100644 index 0000000..4f6b5cc --- /dev/null +++ b/link_helper.py @@ -0,0 +1,39 @@ +from argparse import ArgumentParser +from os import listdir, link, symlink +from os.path import join, split + + +def get_files(input: str): + d = split(input) + name = d[1] + d = d[0] + re = [] + for i in listdir(d): + if i.startswith(f"{name}."): + re.append(join(d, i)) + return re + + +p = ArgumentParser() +p.add_argument("INPUT", help='input') +p.add_argument("OUTPUT", help='output') +p.add_argument("-H", "--hardlink", action="store_true", default=False) + + +def main(args=None): + arg = p.parse_args(args) + outd = split(arg.OUTPUT) + outname = outd[1] + "." + outd = outd[0] + inpname = split(arg.INPUT)[1] + "." + for f in get_files(arg.INPUT): + target = join(outd, split(f)[1].replace(inpname, outname)) + if arg.hardlink: + link(f, target) + else: + symlink(f, target) + print(target, ' -> ', f) + + +if __name__ == "__main__": + main()