Coverage for src\sql_organizer\search.py: 100%
13 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-25 09:55 +0300
« prev ^ index » next coverage.py v7.9.2, created at 2025-07-25 09:55 +0300
1from collections.abc import Sequence
2from pathlib import Path
4from pydantic import BaseModel, Field
7class FileExtension(BaseModel, frozen=True):
8 extension: str = Field(min_length=1)
10 def get_glob(self) -> str:
11 return f"**/*.{self.extension}"
14def get_all_sql_files(path: Path, extensions: Sequence[FileExtension]) -> list[Path]:
15 assert len(extensions) >= 1, "Should provide at least 1 extension"
16 paths: list[Path] = []
17 for extension in extensions:
18 paths.extend(path.glob(extension.get_glob()))
19 return paths