for root, dirs, files in os.walk(dir_path):
for f in files:
file_path = os.path.join(root, f)
- if _is_media_file(file_path):
+ if is_media_file(file_path):
yield (f, file_path)
def extract_timestamp(file_path, use_meta=False):
time = None
if use_meta:
- if _is_media_file(file_path, types=['image']):
+ if is_media_file(file_path, types=['image']):
time = _extract_image_timestamp(file_path)
- elif _is_media_file(file_path, types=['video']):
+ elif is_media_file(file_path, types=['video']):
time = _extract_video_timestamp(file_path)
if time:
return time
dst_stat = os.stat(dst_file_path)
os.utime( dst_file_path, ns=(dst_stat.st_atime_ns, src_stat.st_mtime_ns) )
-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']):
+def is_media_file(file_path, types=['image', 'video']):
if not os.path.isfile(file_path):
return False
mime_type = mimetypes.guess_type(file_path)[0]