mirror of
https://github.com/iperov/DeepFaceLab.git
synced 2025-08-22 06:23:20 -07:00
Adds typing to utils/Path_utils
This commit is contained in:
parent
2491c1beb8
commit
26f033402c
2 changed files with 17 additions and 17 deletions
|
@ -1,11 +1,12 @@
|
|||
from operator import attrgetter
|
||||
from pathlib import Path
|
||||
from os import scandir
|
||||
from typing import List, Optional, Callable
|
||||
|
||||
image_extensions = [".jpg", ".jpeg", ".png", ".tif", ".tiff"]
|
||||
IMAGE_EXTENSIONS = (".jpg", ".jpeg", ".png", ".tif", ".tiff")
|
||||
|
||||
|
||||
def get_image_paths(dir_path, image_extensions=image_extensions):
|
||||
def get_image_paths(dir_path: str, image_extensions: List[str] = IMAGE_EXTENSIONS) -> List[str]:
|
||||
dir_path = Path(dir_path)
|
||||
|
||||
result = []
|
||||
|
@ -16,7 +17,7 @@ def get_image_paths(dir_path, image_extensions=image_extensions):
|
|||
return sorted(result)
|
||||
|
||||
|
||||
def get_image_unique_filestem_paths(dir_path, verbose_print_func=None):
|
||||
def get_image_unique_filestem_paths(dir_path: str, verbose_print_func: Optional[Callable[[str], None]] = None) -> List[str]:
|
||||
result = get_image_paths(dir_path)
|
||||
result_dup = set()
|
||||
|
||||
|
@ -32,26 +33,21 @@ def get_image_unique_filestem_paths(dir_path, verbose_print_func=None):
|
|||
return sorted(result)
|
||||
|
||||
|
||||
def get_file_paths(dir_path):
|
||||
def get_file_paths(dir_path: str) -> List[str]:
|
||||
dir_path = Path(dir_path)
|
||||
|
||||
result = []
|
||||
if dir_path.exists():
|
||||
return [x.path for x in scandir(str(dir_path)) if x.is_file()]
|
||||
return sorted(result)
|
||||
return []
|
||||
|
||||
|
||||
def get_all_dir_names(dir_path):
|
||||
def get_all_dir_names(dir_path: str) -> List[str]:
|
||||
dir_path = Path(dir_path)
|
||||
|
||||
result = []
|
||||
if dir_path.exists():
|
||||
return [x.name for x in scandir(str(dir_path)) if x.is_dir()]
|
||||
|
||||
return sorted(result)
|
||||
return []
|
||||
|
||||
|
||||
def get_all_dir_names_startswith(dir_path, startswith):
|
||||
def get_all_dir_names_startswith(dir_path: str, startswith: str) -> List[str]:
|
||||
dir_path = Path(dir_path)
|
||||
startswith = startswith.lower()
|
||||
|
||||
|
@ -63,7 +59,7 @@ def get_all_dir_names_startswith(dir_path, startswith):
|
|||
return sorted(result)
|
||||
|
||||
|
||||
def get_first_file_by_stem(dir_path, stem, exts=None):
|
||||
def get_first_file_by_stem(dir_path: str, stem: str, exts: List[str] = None) -> Optional[Path]:
|
||||
dir_path = Path(dir_path)
|
||||
stem = stem.lower()
|
||||
|
||||
|
@ -78,14 +74,14 @@ def get_first_file_by_stem(dir_path, stem, exts=None):
|
|||
return None
|
||||
|
||||
|
||||
def move_all_files(src_dir_path, dst_dir_path):
|
||||
def move_all_files(src_dir_path: str, dst_dir_path: str) -> None:
|
||||
paths = get_file_paths(src_dir_path)
|
||||
for p in paths:
|
||||
p = Path(p)
|
||||
p.rename(Path(dst_dir_path) / p.name)
|
||||
|
||||
|
||||
def delete_all_files(dir_path):
|
||||
def delete_all_files(dir_path: str) -> None:
|
||||
paths = get_file_paths(dir_path)
|
||||
for p in paths:
|
||||
p = Path(p)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import unittest
|
||||
|
||||
from utils.Path_utils import get_first_file_by_stem
|
||||
from utils.Path_utils import get_first_file_by_stem, get_image_paths
|
||||
|
||||
|
||||
class PathUtilsTests(unittest.TestCase):
|
||||
|
@ -10,6 +10,10 @@ class PathUtilsTests(unittest.TestCase):
|
|||
self.assertEqual(first_file.suffix, '.md')
|
||||
self.assertEqual(first_file.name, 'README.md')
|
||||
|
||||
def test_get_image_paths(self):
|
||||
image_paths = get_image_paths('..', ['.py'])
|
||||
print('Image paths for ".." (.py extension):', image_paths)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue