MCPcopy Index your code
hub / github.com/pyload/pyload / move_tree

Function move_tree

module/plugins/internal/misc.py:1010–1045  ·  view source on GitHub ↗
(src, dst, overwrite=False)

Source from the content-addressed store, hash-verified

1008
1009
1010def move_tree(src, dst, overwrite=False):
1011 mtime = os.path.getmtime
1012
1013 for src_dir, dirs, files in os.walk(src, topdown=False):
1014 dst_dir = src_dir.replace(src, dst, 1)
1015 del_dir = True
1016
1017 if not exists(dst_dir):
1018 os.makedirs(dst_dir)
1019 shutil.copystat(src_dir, dst_dir)
1020
1021 elif overwrite or overwrite is None and mtime(src_dir) > mtime(dst_dir):
1022 shutil.copystat(src_dir, dst_dir)
1023
1024 else:
1025 del_dir = False
1026
1027 for filename in files:
1028 src_file = fsjoin(src_dir, filename)
1029 dst_file = fsjoin(dst_dir, filename)
1030
1031 if exists(dst_file):
1032 if overwrite or overwrite is None and mtime(src_file) > mtime(dst_file):
1033 os.remove(dst_file)
1034 else:
1035 continue
1036
1037 shutil.move(src_file, dst_dir)
1038
1039 if not del_dir:
1040 continue
1041
1042 try:
1043 os.rmdir(src_dir)
1044 except OSError:
1045 pass
1046
1047
1048"""

Callers

nothing calls this directly

Calls 4

existsFunction · 0.85
fsjoinFunction · 0.85
replaceMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected