dst_stat = os.stat(dst_file_path)
os.utime( dst_file_path, ns=(dst_stat.st_atime_ns, src_stat.st_mtime_ns) )
-def delete_dir_contents(dir_path):
- for file_name in os.listdir(dir_path):
- file_path = os.path.join(dir_path, file_name)
- if os.path.isfile(file_path) or os.path.islink(file_path):
- os.unlink(file_path)
- elif os.path.isdir(file_path):
- shutil.rmtree(file_path)
+def cleanup_dir(dir_path):
+ for root, dirs, files in os.walk(dir_path, topdown=False):
+ for name in files:
+ full_path = os.path.join(root, name)
+ if not _is_media_file(full_path):
+ try:
+ os.remove(full_path)
+ except Exception as e:
+ logging.warn('Error cleaning file %s: %s', full_path, str(e))
+ for name in dirs:
+ full_path = os.path.join(root, name)
+ try:
+ os.rmdir(full_path)
+ except Exception as e:
+ logging.warn('Error cleaning dir %s: %s', full_path, str(e))
def _is_media_file(file_path, types=['image', 'video']):
if not os.path.isfile(file_path):