From 44ed580f4dfc2ece93685c4415b08555c765bc70 Mon Sep 17 00:00:00 2001 From: Ryo Nakamura Date: Mon, 31 Oct 2022 22:55:43 +0900 Subject: add rename-logic.py --- src/rename-logic.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 src/rename-logic.py (limited to 'src/rename-logic.py') diff --git a/src/rename-logic.py b/src/rename-logic.py new file mode 100755 index 0000000..9916c96 --- /dev/null +++ b/src/rename-logic.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 + +from os.path import dirname, basename, isfile, isdir, exists +from os import listdir +import sys + +""" + +This file simply implements the src_path to dst_path conversion logic +just for test. file_fill() and file_fill_recursive() in file.c +implements this logic. + +""" + + +def recursive(src, rel_path, dst, dst_should_dir, replace_dir_name): + + if isfile(src): + if dst_should_dir: + print("{} => {}/{}{}".format(src, dst, rel_path, basename(src))) + else: + print("{} => {}{}".format(src, rel_path, dst)) + return + + # src is directory + for f in listdir(src): + next_src = "{}/{}".format(src, f) + if replace_dir_name and dst_should_dir: + next_rel_path = "" + else: + next_rel_path = "{}{}/".format(rel_path, basename(src)) + recursive(next_src, next_rel_path, dst, dst_should_dir, False) + + +def fill_dst(src, dst): + dst_should_dir = isdir(src) + replace_dir_name = not isdir(dst) + recursive(src, "", dst, dst_should_dir, replace_dir_name) + + +def main(): + fill_dst(sys.argv[1], sys.argv[2]) + +main() -- cgit v1.2.3