mirror of
https://github.com/upa/mscp.git
synced 2026-02-04 03:24:58 +08:00
add rename-logic.py
This commit is contained in:
44
src/rename-logic.py
Executable file
44
src/rename-logic.py
Executable file
@@ -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()
|
||||
Reference in New Issue
Block a user